package cz.muni.fi.pb162;
// class Person is in this package
public class Person {
// attributes, methods
}
Co znamená související?
Příklad: V balíku geometry
jsou třídy reprezentující geometrické objekty (čtverec, trojúhelník, …).
cz.muni.fi.pb162
je možné a vhodné jméno balíkucz.muni.fi
je obrácené doménové jméno fakulty (fi.muni.cz
)pb162
je identifikátor, jehož jedinečnost už si v rámci organizace FI "uhlídáme"java.util
)junit.framework
, i když to nebylo Java Core API.package cz.muni.fi.pb162;
// class Person is in this package
public class Person {
// attributes, methods
}
Všechna písmena názvu balíku by měla být dle konvencí malá, tedy nikoli Cz.Muni.Fi.PB162 nebo tak něco.
|
cz.muni.fi.pb162.Person
Person
Person
bude v souboru Person.java
cz/muni/fi/pb162
package název.balíku;
Balíky obvykle organizujeme do jakýchsi pseudohierarchií, např.:
cz.muni.fi.pb162
cz.muni.fi.pb162.banking
cz.muni.fi.pb162.banking.credit
cz.muni.fi.pb162.banking.Account
byla současně v balíku cz.muni.fi.pb162.banking
a taky třeba cz.muni.fi.pb162
.cz.muni.fi.pb162.banking
, je pouze v něm a žádném jiném.cz.muni.fi.pb162
, ani v cz.muni.fi.pb162.banking.credit
.Prostě buď je ve stejném balíku nebo je v jiném :-) |
public
, protected
, private
Třída Person
v balíku cz.muni.fi.pb162
package cz.muni.fi.pb162;
public class Person {
// attributes, methods
}
Třída Account
v tomtéž balíku
package cz.muni.fi.pb162;
public class Account {
private Person owner; // owner of this Account is a Person
}
Account
v balíku import cz.muni.fi.pb162.banking
Person
její plný název balíkupackage cz.muni.fi.pb162.banking;
public class Account {
private cz.muni.fi.pb162.Person owner; // full package name
}
import
import
package cz.muni.fi.pb162.banking;
import cz.muni.fi.pb162.Person;
public class Account {
private Person owner; // class name imported above
}
import názevbalíku.NázevTřídy
import cz.muni.fi.pb162.Person;
Person
) v rámci jiné třídy.package názevbalíku;
).import názevbalíku.*
import cz.muni.fi.pb162.*;
Doporučuje se "import s hvězdičkou" nepoužívat vůbec
*
importů, a obojí z nich obsahují třídu Person
, která z nich se použije?import cz.*
nezpřístupní třídu cz.muni.fi.pb162.Person
./