какая разница между конструкцией, имеющей суперфункцию и без нее.
Ну, это легко проверить. На самом деле они одинаковы для этого случая. Что еще более важно, вы, вероятно, захотите узнать, когда и как использовать super.
Идущих следующие коды:
public class Test
{
public static void main(String[] args)
{
new Students("a", "b");
}
}
class Parent
{
public Parent(){
System.out.println("Parent class constructor invoked");
}
}
class Students extends Parent
{
String name;
String address;
public Students(String name, String address) {
super();
this.name = name;
this.address = address;
}
}
ВЫВОД: родительского конструктор класса привлеченного
Теперь убирают super()
;
class Students extends Parent
{
String name;
String address;
public Students(String name, String address) {
this.name = name;
this.address = address;
}
}
ВЫВОД: родительский конструктор класса вызывается
Точно так же как, как классы неявно распространяется на Object
, даже если вы не продлевают их к чему-то. «По умолчанию» super();
будет вызываться в каждом конструкторе, если он не указан вами.
Nice Пояснение @ user3437460 –
@ Tarikhelian Рад, что это помогло;) – user3437460