java题:如果子类有两个构造方法,一个有参数,一个无参,父类只有一个,创建一个无参的对象,无参数
java题:如果子类有两个构造方法,一个有参数,一个无参,父类只有一个,创建一个无参的对象,无参数的构造方法里调用有参数的构造方法。这样执行会调用两次父类的构造方法呢...
java题:如果子类有两个构造方法,一个有参数,一个无参,父类只有一个,创建一个无参的对象,无参数的构造方法里调用有参数的构造方法。这样执行会调用两次父类的构造方法呢
展开
1个回答
展开全部
只调用一次父类构造函数,构造函数是对象实例化时调用的,即使在构造函数中显式调用重载的其它构造函数,被调用的也只被看做普通函数
更多追问追答
追问
为什么呢
追答
因为构造函数是被实例化过程调用的,无论你重载多少个构造函数,实际的构造函数只有一个,也只被调用一次,比如
classFoo foo = new classFoo(); //此时的实际构造函数是无参的
classFoo bar = new classFoo(a, b); //这种情况的实际构造函数是带有两个参数的版本
虽然你在classFoo()中调用了classFoo(a,b)这个函数,但后者并非被当做构造函数来看待,只能当做普通的成员函数来执行
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询