关于super和void的问题。

ackage com.master.hui;

public class TestSuper {
public static void main(String[] args) {
ChildClass s1=new ChildClass();
s1.ChildClass();
// new ChildClass();
}
}
class FatherClass{
public FatherClass(){
super();
System.out.println("Build a FatherClass!");
}


}
/*class ChildClass extends FatherClass{
public void ChildClass(){

System.out.println("Build a ChildClass!");
}
}
*/

class ChildClass extends FatherClass{
public ChildClass(){
super();
System.out.println("Build a ChildClass!");
}
}
在执行此段代码时,出现了以下问题,如在子类中输入public void childclass时,就无法执行super(),并且在主函数中的new ChildClass();也出现了报错,提醒我要在父类下建立此方法。
解决办法:super是构造函数的第一句,但是如果加了void,就不能成为构造函数。
JAVA 里面的构造函数呀返回一个构造的对象,你如果在构造函数前加上void 就相当与是在构造函数的第一句声明在这个构造函数中不返回任何对象,这样做1.你即使调用构造方法,也不会返回任何对象,2。super语句在构造方法中不是第一句
posted @ 2022-03-18 19:16  加瓦实习生  阅读(80)  评论(0)    收藏  举报