java中重写父类函数后不会自动执行原来父类的函数吗

2024-12-21 08:10:12
推荐回答(4个)
回答1:

那要看父类的构造函数带参数不,像你这样带参数的不行。

不写的话,Java会调用父类的默认构造函数(无参数)。

你可以运行以下程序,看看结果:
class Father {
public Father(){
System.out.println("Father构造函数");
}
public Father(int i){
System.out.println("Father构造函数2,带int"+i);
}

}

public class Child extends Father {

public Child(){
System.out.println("Child构造函数");
}

public Child(int i){
System.out.println("Child构造函数2,带int"+i);
}
public static void main(String[] args) {
new Child(2);

}

}

回答2:

子类继承父类之后只能重写父类中的protected和public方法,默认没有修饰词的是friendly,同样可以重写,但是private方法就不能重写,即使子类中的方法名和父类的private方法一致,也只能看做是一个新的方法,而不是重写。override也就是重写,覆写。
父类对象.方法名()调用的是父类原方法。调用重写后的方法需要用子类对象调用。如果要在子类中调用父类被重写的方法用super.方法名()。

回答3:

恩,要执行父类的构造方法的话,要写super(looper),Java中规定子类不继承父类的构造方法,不过在子类的构造方法中默认有 super();// 就是调用父类的无参构造方法,当父类定义了一个或者多个构造方法时,Java中不提供默认的构造方法

回答4:

不会,要调用要用super();函数调用。