以下内容来自marschen的java4android视频教程.
第19集子类实例化过程.
本集主要内容.
1.生成子类的过程.
2.使用super调用父类构造函数的方法.
由于子类继承了父类的成员变量,却无法继承父类的构造函数
所以,在为成员变量赋值的时候有可能会出现重复代码,
为了解决这个问题,子类可以使用super调用父类的构造函数,
class Person19{
String name;
int age;
Person19(){
System.out.println("Person的无参数构造函数");
}
Person19(String name,int age){
this.name = name;
this.age =age;
System.out.println("Person的有参数构造函数");
}
void eat(){
System.out.println("吃饭");
}
}
class Student19 extends Person19{
int grade;
//在子类的构造函数当中,必须调用父类的构造函数,为什么?
Student19(){
super(); //调用父类的构造函数,如果用户没有写,编译器会自动添加.,在函数的第一句语句.
System.out.println("Student 无参数构造函数");
}
Student19(String name,int age,int grade){
//this.name = name;
//this.age =age;
super(name,age);//调用父类的构造函数
this.grade =grade;
}
}
class Test19{
public static void main(String args[]){
Student19 student = new Student19("zhangsan",18,3);
System.out.println(student.name);
System.out.println(student.age);
System.out.println(student.grade);
}
}