Java 8

8. Csomagok és INTERFACE

Package (csomag) - egyfajta konténer használt elkülöníteni az osztály nevét. Például létrehozhat egy osztály List, helyezze azt a csomagot, és nem hiszem, akkor a lehetséges konfliktusokat, amelyek abból erednek, ha valaki más is létrehozott egy osztály nevű listájára.

Interface - ez egyértelműen jelzi leírás módszereket alkalmaz, amelyek be kell mutatni az osztályt, amely megvalósítja a specifikációt. A végrehajtását ugyanezen módszerek a felület nem áll rendelkezésre. Mint egy absztrakt osztály interfész van egy figyelemre méltó további jellemzője - tudnak örökölni többször. Egy adott osztály lehet az örökös csak egy superclass, de korlátlan számú interfész lehet megvalósítani.

8.1. csomagok

Minden azonosítók, hogy még mindig használja a mi példák voltak található ugyanabban a névtérben (név térben). Ez azt jelenti, hogy elkerüljük a konfliktushelyzetek kellett vigyázni, hogy minden osztály saját, egyedi nevet. Csomagok - az a mechanizmus, hogy használják a dolgozó nevekkel, és korlátozzák a láthatóságot. Minden fájlnak van egy java 4 belső részei, amelyek még mindig a mi példákban csak egy. Az alábbiakban az általános formája a Java forrás fájlt.

8.1.1. csomag nyilatkozat

Az első dolog, ami megjelenhet a Java forrás fájl - ezt a csomagot kezelő, ami megmondja a fordító milyen csomagot kell meghatározni szereplő állományt. Csomagok határoz meg, külön névtérben, mely nevét tartalmazza az osztályok. Ha a csomag operátor nincs megadva, akkor az osztályok kap névtelen névtér alapértelmezett. Ha nyilvánítja egy osztály tartozó egy csomagot, például packagejava.awt.image;

és a forráskód erre az osztályra kell tárolni a java / AWT / image könyvtárban.

8.1.2. Fordítása osztályok csomagok

Ha megpróbálja, hogy az osztály a csomag akkor azonnal találkoznak egy szigorú követelmény pontos egyezés könyvtárhierarchiában a hierarchia csomagokat. Nem lehet átnevezni a csomagot anélkül, hogy átnevezzük a könyvtárat, amelyben tárolni óráit. Ez a nehézség látható egyszerre, de ott is kevésbé nyilvánvaló probléma. Képzeljük el, hogy írtál egy osztályban PackTest nevét a vizsgálati csomag. Létrehoz egy teszt könyvtárba, ebbe a könyvtárba PackTest.java, és casting fájlt. Eddig - minden rendben. Azonban, ha megpróbálja futtatni a shell üzenetet kap «nem találja osztály PackTest» ( «Nem találok egy osztály PackTest»). Az új osztály most csomagolásban tároljuk a nevét vizsgálat, így most kell megadni a teljes hierarchiát csomagok, pontokkal elválasztott neveket - test.PackTest. Ezen felül, akkor sem kell menni egy magasabb szintet a hierarchiában a könyvtárak és a tárcsa «java test.PackTest» újra, vagy ők lesznek a CLASSPATH könyvtár, amely a csúcsa a hierarchia osztályok Ön által fejlesztett.

8.1.3. Az import utasítás

Miután a csomag hordozó, de mielőtt bármilyen osztály definíciók eredeti Java-fájl, jelen lehet a piaci szereplők listáját import. A csomagok egy jó rendszer szétválasztására osztályok egymástól, így az összes beépített Java osztályok vannak tárolva csomagokat. Az általános formája a behozatali nyilatkozatot a következő:

importpaket1 [.paket2] (ClassName | *) .;

import javautil.Date
import javaio * .;

Minden beépített Java osztályok, amelyek szerepelnek a csomagban vannak tárolva nevű csomagot java. Az alapvető funkciója a nyelv alatt egy beágyazott csomag java.lang. Ez az egész csomag a rendszer automatikusan importálja az összes programot fordító. Ez egyenértékű forgalomba elején minden program operátor import java.lang * .;

Ha két csomag, amelyek kapcsolódnak a forma import utasítást a csillaggal jelölt van osztályok, az azonos nevű, de nem használja őket, a fordító nem reagál. De amikor akarják használni egy osztály, akkor azonnal hibaüzenetet kap, és akkor újra kell írni a szereplők behozatali nyilatkozatot, hogy egyértelműen meg kell határozni, hogy melyik csomag az osztály van szem előtt, classMyDateextendsJava.util.Date<>

8.1.4. A hozzáférés korlátozása

1. alosztályok ugyanabban a csomagban;

2. nem alosztályok ugyanabban a csomagban;

3. alosztályok különböző csomagokban;

4. Az osztályok, amelyek nem alosztályok és nem szerepelnek ugyanabban a csomagban.

A Java, három hozzáférési szinteket megállapítani, mely kulcsszavak: saját (privát), nyilvános (nyitott) és védett (protected), amelyeket különböző kombinációkban. A tartalom a táblázatban sejtek határozza meg a rendelkezésre álló változó kombinációjának módosítók (oszlop) a térből (vonal).

Van néhány szabály, amely segít megérteni. Element nyilvánosságra hozott, bárhonnan. Minden, ami bejelentett magán, csak az osztályban, és sehol máshol. Ha az elem nincs meghatározott hozzáférési módosító szinten egy elem jelenik meg a alosztályok és osztályok ugyanabban a csomagban. Ez a teljes körű hozzáféréssel használják a Java nyelvét. Ha szeretné, hogy a tárgy volt, csak az alosztályok, függetlenül attól, hogy van ebben a csomagban, akár nem - egy védett.

8.1 táblázat: Táblázat hozzáférési korlátozások

Kapcsolódó cikkek