• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java - słowo kluczowe super

VPS Starter Arubacloud
0 głosów
232 wizyt
pytanie zadane 14 marca 2020 w Java przez Gabel88 Początkujący (430 p.)

Witam, gdy tworzę klasę A i klasę B, i klasa B dziedziczy po klasie A, to w klasie B nie mam dostępu do zmiennych z klasy A, nawet gdy użyje słowo super. Gdy zrobię to w jakiejś metodzie lub kostruktorze w klasie B, to mogę używać zmiennych z klasy A. Dodam, że zmienne w klasie A mają modyfikator protected. Dlaczego tak się dzieje ?

public class A
{
    protected int x;
}
public class B extends A
{
    super.x = 10;

    void y()
    {
        super.x = 15;
    }
}

Podkreśla mi błąd w lini "super.x  = 10;".

Błąd to "unknown class 'x' " i "unexpected token".

1 odpowiedź

+2 głosów
odpowiedź 14 marca 2020 przez VirtualMember Pasjonat (15,790 p.)
Nie znam tak bardzo javy ale AFAIK super używa się do 1) wołania konstruktorów jeśli bezpośrednio użyjesz super(arg) 2) wołania funkcji super.foo() 3) odwoływania się do zmiennych jeśli w podklasie i nadklasie mają tą samą zmienną.

To co próbujesz tutaj zrobić to w ciele klasy B dać wartość zmiennej x z klasy A. Ale ta zmienna już jest zadeklarowana (ponieważ obiekt nadklasy zawsze tworzy się przed obiektami podklasy) więc twoje super.x = 10; jest niczym innym jak operacją przypisania wartości do już istniejącej zmiennej, a to wykonujemy w ciałach metod. Stąd super.x = 10; będzie sypało ci błędem
komentarz 14 marca 2020 przez Gabel88 Początkujący (430 p.)
Ok dzięki, już rozumiem
komentarz 14 marca 2020 przez VirtualMember Pasjonat (15,790 p.)
:))

Podobne pytania

0 głosów
1 odpowiedź 566 wizyt
pytanie zadane 31 marca 2018 w JavaScript przez xxx1990 Początkujący (490 p.)
0 głosów
1 odpowiedź 217 wizyt
pytanie zadane 31 stycznia 2021 w Java przez p_wel Nowicjusz (120 p.)
0 głosów
1 odpowiedź 189 wizyt
pytanie zadane 29 sierpnia 2019 w Java przez poldeeek Mądrala (5,980 p.)

93,078 zapytań

142,042 odpowiedzi

321,446 komentarzy

62,423 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...