InterfaceDeclaration:Máme k dispozici 2 druhy deklarací rozhraní. Buď deklarujeme klasické rozhraní, nebo anotační typ. Deklaraci anotačních typů se věnuje další článek.
NormalInterfaceDeclaration
AnnotationTypeDeclaration
NormalInterfaceDeclaration:
InterfaceModifiersoptinterface
Identifier
TypeParametersopt ExtendsInterfacesopt InterfaceBody
Hlavička klasického rozhraní obsahuje Seznam modifikátorů, klíčové slovo pro identifikaci deklaracec rozhraní, identifikátor označující konkrétní rozhraní. Dále je možné přiložit typové parametry, pokud deklarujeme generické rozhraní. Následně máme možnost vypsat seznam rozhraní, od kterých chceme dědit. Nakonec je nutno napsat tělo rozhraní.
Možné modifikátory při deklaraci rozhraní jsou:
- Annotations
- public
- protected
- private
- abstract
- static
- strictfp
Dědění od jiných rozhraníbude značeno vztahem s názvem extends, který bude mezi vrcholem dědícího rozhraní a rozhraní, od kterého je děděno.Na rozdíl od tříd, je možné dedit od více rozhraní.
Jak již bylo řečeno, v těle deklarace rozhraní mohou být:
- deklarace konstant
- deklarace abstraktních metod
- deklarace tříd
- deklarace dalších rozhraní
Souhrn
Vlastnosti:
- name (String)
- static (yes/no)
- abstract (yes/no)
- inner (yes/no)
- access (public/private/protected)
- package (String)
- strictfp (yes/no)
- extends (Rozhraní)
- uses (Třída, rozhraní nebo výčet)
- have_inner (Vnitřní třída, rozhraní nebo výčet)
- have_anonym (Anonymní třída)
- have_method (Metoda)
- have_attribute (Atribut)
1 2 3 4 5 6 7 8 9 10 | public interface Rozhrani extends Runnable{ interface VnitrniRozhrani{ public static String jina_konstanta = "hodnota"; }; public static String konstanta = "hodnota"; public VnitrniRozhrani vr = new VnitrniRozhrani() {}; public void metoda(); } |
Zdroje:
http://docs.oracle.com/javase/specs/jls/se7/html/jls-9.html#jls-9.1
Žádné komentáře:
Okomentovat