黑马程序员技术交流社区
标题:
java构造函数的问题
[打印本页]
作者:
Moonboy2014
时间:
2014-6-13 13:24
标题:
java构造函数的问题
class Person
{
int age;
Person(int age)
{
this.age = age;
//System.out.println(age);
}
}
class Student extends Person
{
Student(int age)
{
this.age = age;
System.out.println("age="+age);
}
}
class ExtendsDemo3
{
public static void main(String[] args)
{
Student s = new Student(30);
}
}
这段代码能编译通过吗,请教各位高手,知道的给详细解答一下,感谢!
作者:
闪耀.Q
时间:
2014-6-13 13:33
把Student构造函数里的this.age = age;改成super(age);就能通过了
作者:
Moonboy2014
时间:
2014-6-13 13:37
闪耀.Q 发表于 2014-6-13 13:33
把Student构造函数里的this.age = age;改成super(age);就能通过了
恩,原因是啥啊:loveliness:
作者:
闪耀.Q
时间:
2014-6-13 13:40
我的理解哈,子类在构造函数中必须要调用父类的构造函数,这是Java规定的吧。你的Student构造函数中没有调用父类的构造函数。所以要把this.age=age;改成super(age); 我自己的理解还请指正!
作者:
Без_тебя
时间:
2014-6-13 22:32
把 Student(int age)里面的 this.age = age; 换成 super(age)也可以
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2