Я пытаюсь изучить java oop, и я нахожу некоторую проблему, понимая использование супер метода, когда я делаю пример. Пожалуйста, введите код ниже.использование super() в Java?
не могли бы вы рассказать мне, почему супер(); метод не относится к суперклассу? я не понимаю.
суперкласса:
package javaapplication;
public class A {
protected String val;
public A(){
this.val = " Class A ";
}
}
Подкласс
package javaapplication;
public class B extends A {
public B(){
this.val = " Class B";
System.out.println(super.val);
}
}
Главный класс
package javaapplication;
public class JavaApplication {
public static void main(String[] args) {
B a = new B();
}
}
выход: бежать: Класс B
почему я получил "класса B"?
Поскольку вы назначили его в 'Class b' в' b' конструктора? Чего ты ожидал? 'val' - это одно и то же в обоих классах. – Li357
Что вы ожидали от вывода? –
Возможный дубликат [Когда я использую super()?] (Http://stackoverflow.com/questions/4090834/when-do-i-use-super) –