Metoda super dla pól klasy

0

Hej, przeczytałem że metoda super() pozwala odwoływać się do konstruktorów, metod oraz pól klasy. O ile potrafię odwoływać się w ten sposób do konstruktorów i metod, nie wiem jaki sens i jak to powinno wyglądać dla pól klasy.
Czy ktoś mógłby wytłumaczyć kiedy jest sens tego używać dla pól klasy i jak to powinno wyglądać.

2

nie ma tu ani przykładu, ani nie jest wytłumaczone dla początkującego

Jest tam prostymi słowami napisane, że chodzi o dostęp do pól z klasy nadrzędnej przesłonięte przez pola klasy dziedziczącej mające takie same nazwy.
Po odpowiedzi @Patryk27 mimo, że nie programuję w Javie, mogę odpowiedzieć, że przez super() możesz się odwołać do pól przesłoniętych przy dziedziczeniu, których normalnie byś nie widział bo byłyby "zastąpione" przez pola klasy dziedziczącej. Ma sens kiedy nadałeś polom takie same nazwy i chcesz mieć dostęp do obu. Ale nie jest to dobra praktyka.

3

Przykład użycia

class B
{
    int foo = 3;
}
class P extends B
{
    double foo = 4.5;
    public static void main(String[] args)
    {
        new P();

    }
    public P()
    {
        System.out.println(foo); // => 4.5
        System.out.println(super.foo); // => 3       
    }
        
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1