publicclassFruit{privateStringname;// 必须显式声明一个无参构造函数publicFruit(){}publicFruit(Stringname){this.name=name;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}} 要回答这个问题,我们就来把这个无参构造函数去掉试试。 按照如下方式,用起来也没多大的问题: pub...
public static void main(String[] args) throws IOException { B b = new B();} } class A{ public A() { System.out.println("A类的无参数构造方法");} } class B extends A{ public B() { //这里面不写,系统也会默认的调用super(),即父类的无参构造。//不管子类的无参构造还是...
有参的构造函数,在函数的()中需要声明传入的参数类型,无参的构造函数就不需要,同时在调用有参构造...
public class Hello { //构造器一: public Hello() {this("");//调用本类的Hello(String name)这个构造器 ,参数是 ""//this("王五");//传递的参数可以根据情况修改}//构造器二:public Hello(String name) {System.out.println("你好:"+name+"!");}//main方法public static void main...
再进一步思考,如果子类实例化的时候不使用super()来调用父类的无参构造函数是不是就不会出现这样的问题了呢? 答案是肯定的: 1 2 3 4 5 6 7 publicclassAppleextendsFruit { publicApple(String name){ super(name); } } 只要在子类中指定调用父类中存在的构造函数,那么子类就是可以被正确初始化的,程序编...