在java继承中,执行之类的构造方法之前,会先调用父类中没有参数的构造方法,说是为了帮助继承自父类的成员做初始化操作?不懂。。。为什么要初始化,我看没啥用啊。。。
如程序:分了三个类
package page132;
public class Person {
private String name;
private int age;
public Person()
{
System.out.println("调用了person的无参数构造方法");
}
public Person (String name,int age)
{
System.out.println("调用了person的有参数构造方法");
this.name=name;
this.age=age;
}
public void show()
{
System.out.println("姓名:"+name+"年龄"+age);
}
}
package page132;
public class Student extends Person {
private String department;
public Student()
{
System.out.println("调用了学生的无参数构造方法student()");
}
public Student (String name,int age,String dep)
{
super(name,age);
department=dep;
System.out.println("我是"+department+"的学生");
System.out.println("调用了学生的有参数的构造方法Student(String dep)");
}
}
package page132;
public class Untitled1 {
public static void main(String[] args) {
Student stu1=new Student();
Student stu2=new Student("李小双",23,"计算机系");
stu1.show();
stu2.show();
}
}
为什么有
调用了person的无参数构造方法
调用了学生的无参数构造方法student()
我是先赋值给学生的它却先调用person类,这个所谓初始化有何用。。。。
|