class Super
{
int i = 0;
public Super(String s)
{
i = 1;
}
}
class Demo extends Super
{
public Demo(String s)
{
i = 2;
}
public static void main(String[] args)
{
Demo d = new Demo("yes");
System.out.println(d.i);
}
}
子类如何通过super语句指定要调用的父类中的构造函数?作者: 神之梦 时间: 2013-9-5 21:20
毕老师的视频中有讲
你要指定调用父类的某个构造函数的话,至少父类中得有两个构造函数作者: 放飞自己365 时间: 2013-9-5 22:38 子类 通过super语句隐式调用的父类中的构造函数的,也就是在子类调用父类的构造器时在构造器的第一句有一个super()语句,只不过在这里是隐式的,还有形参在不使用是就使用无参的构造器就可以的,要不在编译时报找不到参数的
class Super{
int i=0;
public Super( ){
i=1;
}
}
class Demo extends Super{
public Demo( ){ // 这里super();是隐式的 //super();
i=2;
}
public static void main(String[]args){
Demo d=new Demo( );
System.out.println(d.i);
}
}
最后的结果是2的,因为先调用父类的的构造器,此时i=2,然后再运行自己的参数,结果就是i=2.