java lab07 abstract


Laboratorium Java  Klasy abstrakcyjne i interfejsy [2h]
Klasa abstrakcyjna:
 nie można utworzyć obiektu tej klasy
 może zawierać niekompletną implementację (deklaracje metod)
 nieabstrakcyjna klasa pochodna musi implementować metody abstrakcyjne
abstract class Samochod {
public void hamuje() { }
abstract public void trabi(); //deklaracja metody
}
class Limuzyna extends Samochod {
public void trabi() { } //implementacja metody
}
Interfejs:
 interfejs  klasa całkowicie abstrakcyjna (bez implementacji)
" elementy publiczne
" pola jako stałe (static final)  konieczna inicjalizacja
" deklaracje metod
public interface Alfabet {
public static final int ALFA = 1;
int BETA = 2; //automatycznie public static final
//deklaracja metody
public void literuj();
}
 można implementować wiele interfejsów
interface A { }
interface B { }
interface C extends A { } //rozszezanie interfejsu
class X implements B, C { } //implementacja
Klasa wewnętrzna:
 może być private oraz protected
 dostęp do wszystkich elementów klasy zewnętrznej
 rozwiązuje problem braku wielodziedziczenia
class D { }
abstract class E { }
class Y extends D {
class I extends E {
}
}
 tworzenie obiektu klasy wewnętrznej
Y y = new Y();
Y.I i = y.new I();
 wewnętrzna klasa statyczna
" nie potrzebuje obiektu zewnętrznego
" brak dostępu do niestatycznych elementów klasy zewnętrznej
Laboratorium Java 07 (Opracowanie: Konrad Kurczyna) 1/2
' dziedziczenie klas wewnętrznych
' przesłanianie klas wewnętrznych
Klasa anonimowa:
 implementacja interfejsów i klas abstrakcyjnych
class Z extends D {
E make() { return new E() { }; }
}
' dostęp do ostatecznych zmiennych lokalnych (final)
Zadanie:
 zaimplementować aplikację z użyciem:
" klas abstrakcyjnych oraz interfejsów
" klas wewnętrznych lub anonimowych
Laboratorium Java 07 (Opracowanie: Konrad Kurczyna) 2/2


Wyszukiwarka

Podobne podstrony:
07 Java klasy abstrakcyjne, interfejsy, polimorfizm 0
java lang AbstractMethodError
OMÓWIENIE INTERFEJSÓW I KLAS ABSTRAKCYJNYCH W JĘZYKU JAVA
java text FieldPosition
java
java text CollationElementIterator
java io InvalidClassException
tworzenie aplikacji w jezyku java na platforme android
Java Tęczowy tekst
java awt image IndexColorModel
java awt image ImageConsumer
java beans PropertyChangeEvent
java awt event ActionEvent
java awt event FocusEvent

więcej podobnych podstron