以下内容来自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); } }