Klasy finalne Zadeklarowanie klasy jako finalnej oznacza, że nie może być ona dziedziczona przez inne klasy co może być podyktowane względami bezpieczeństwa lub efektywności. Wiele standardowych klas Javy jest klasami finalnymi np.: java.lang.System i java.lang.String. Wszystkie metody w klasie finalnej są automatycznie finalne.
Przykład: // Klasa finalna: public final class FinalPoint { public final int x; public final int y; }
// Niepoprawne - klasa próbuje dziedziczyć po klasie finalnej: // public class 3DPoint extends FinalPoint { // public final int z; // }
Klasa 3DPoint jest błędnie zadeklarowana ponieważ próbuje dziedziczyć po klasie finalnej, co spowoduje błąd kompilacji.
Linki zewnętrzne Dyskusja o kontrowersjach związanych z użyciem słowa kluczowego final
Kategoria:Java