Java/Klíčová slova: Porovnání verzí

Smazaný obsah Přidaný obsah
seznam z en pro začátek
 
+abstract
Řádek 1:
Java má jako [[:w:klíčové slovo|klíčová slova]] následující: [[#abstract|abstract]] , [[#assert|assert]] (od Javy 1.4) , [[#boolean|boolean]] , [[#break|break]] , [[#byte|byte]] , [[#case|case]] , [[#catch|catch]] , [[#char|char]] , [[#class|class]] , [[#const|const]] , [[#continue|continue]] , [[#default|default]] , [[#do|do]] , [[#double|double]] , [[#else|else]] , [[#enum|enum]] (od Javy 5.0) , [[#extends|extends]] , [[#final|final]] , [[#finally|finally]] , [[#float|float]] , [[#for|for]] , [[#goto|goto]] , [[#if|if]] , [[#implements|implements]] , [[#import|import]] , [[#instanceof|instanceof]] , [[#int|int]] , [[#interface|interface]] , [[#long|long]] , [[#native|native]] , [[#new|new]] , [[#package|package]] , [[#private|private]] , [[#protected|protected]] , [[#public|public]] , [[#return|return]] , [[#short|short]] , [[#static|static]] , [[#strictfp|strictfp]] (od Javy 1.2) , [[#super|super]] , [[#switch|switch]] , [[#synchronized|synchronized]] , [[#this|this]] , [[#throw|throw]] , [[#throws|throws]] , [[#transient|transient]] , [[#try|try]] , [[#void|void]] , [[#volatile|volatile]] a [[#while|while]].
 
== abstract ==
Klíčové slovo abstract se používá u tříd a u metod.
* Použití u třídy značí, že daná třída nemůže být instancována (zdánlivá výjimka níže), jedná se o takzvanou ''abstraktní třídu'' (instancovatelná třída se nazývá ''konkrétní''). Z pochopitelného důvodů se nemůže jednat o třídu [[#final|finální]] – aby měla abstraktní třída smysl, musíme mít možnost odvodit od ní podtřídy. Klíčové slovo se u tříd píše obvykle za modifikátory přístupu a za případně použité klíčové slovo [[#static|static]].
* U metody je možné použít abstract pouze tehdy, je-li metodou abstraktní třídy. Abstraktní metoda se pouze deklaruje, neimplementuje se. Proto nemůže být [[#final|finální]], [[#static|statická]], [[#native|nativní]] ani [[#private|soukromá]].
U abstraktních tříd (a jejich metod) se nejčastěji použijí až podtřídy, abstraktní metody je ovšem možné implementovat i přímo při instancování – ve skutečnosti pak jde o ovšem o instancování nepojmenované jednorázové podtřídy. Píše se před návratovou hodnotu metody.
 
{{Kód|jazyk=java|kód=
public abstract class AbstraktniTrida {
/** Abstraktní metoda nemá žádnou implementaci ani tělo */
public abstract void abstraktniMetoda();
/** Konkrétní metoda implementaci má */
public void konkretniMetoda() {
System.out.println("Již implementováno.");
}
}
// implementace abstraktní metody při instancování
// mojeInstance je instancí nepojmenované podtřídy!
AbstraktniTrida mojeInstance = new AbstraktniTrida () {
public void abstraktniMetoda() {
System.out.println("Už je implementováno.");
}
}
}}
 
[[Kategorie:Kurz programování v Javě]]