黑马程序员技术交流社区
标题:
关于子父类实例化的问题
[打印本页]
作者:
冯大卫
时间:
2014-9-4 23:19
标题:
关于子父类实例化的问题
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);
}
}
class Super
{
int i= 0;
public Super(String s)
{
i= 1;
}
}
为什么编译不能通过?
作者:
花开彼岸天
时间:
2014-9-5 01:02
首先 你的公众类呢?,
构造函数的引用地址呢?
作者:
wyxc
时间:
2014-9-5 10:57
你在子类的前面加上public就可以了
作者:
yuZhe_toString
时间:
2014-9-5 11:04
因为你的父类也需要实例化,但是在你的子类中没有提供父类实例化所需要的参数。
正确的方法是在子类的构造方法中加入一句话。super(s);
作者:
Peach2014
时间:
2014-9-5 11:07
Implicit super constructor Super() is undefined. Must explicitly invoke another constructor
不明确的超类构造函数Super()没有被定义。必须明确的调用其他构造函数。
你在Super中加入一个空的构造函数就可以了!
public class Test {
public static void main(String[] args)
{
Demo d = new Demo("yes");
System.out.println(d.i);
}
}
class Demo extends Super
{
public Demo(String s)
{
i= 2;
}
}
class Super
{
int i= 0;
public Super(){}
public Super(String s)
{
i= 1;
}
}
复制代码
作者:
家进
时间:
2014-9-5 12:04
简单地说,父类没有空参数的构造函数,而子类的构造函数里会默认调用父类的空参数的构造函数
作者:
笑脸迷人
时间:
2014-9-5 13:19
子父类 实例化的顺序,以及调用方式
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2