生成子类的过程
见代码:
class Person {
String name;
int age;
Person(){
System.out.print("Person的无参数构造函数");
}
Person(String name,int age){
this.name = name;
this.age = age;
System.out.print("Person的有2个参数的构造函数");
}
void eat(){
System.out.print("吃饭");
}
}
class Student extends Person{
int grade;
Student(){
//在子类的构造函数当中,必须调用父类的构造函数
//如果没有写父类的构造函数,那么编译器会自动加上 super();
//super(根据参数调用父类中相应的构造函数);
System.out.print("Student的无参数构造函数");
}Student(String name,int age,int grade){
//this.name = name;
//this.age = age;
super(name,age);//减少重复代码
this.grade = grade;
}
}
class Text{
public static void main(String args[]){
Student s = new Student("zhansan",18,90);
System.out.print(s.name);
System.out.print(s.age);
System.out.print(s.grade);
}
}
使用super调用父类构造函数的方法
由于子类继承了父类的成员变量和成员函数,但无法继承父类的构造函数,所以在为成员变量赋值的时候会出现代码重复。为解决这个问题,用super调用父类的构造函数。。
注意:super在构造函数中要在第一行。
java4android (继承中的子类实例化过程),布布扣,bubuko.com
时间: 2024-12-23 10:53:45