java19子类实例化过程

class Person1{
String name;
int age;
Person1(){
System.out.println(“Persom的无参数构造函数”);
}
Person1(String name , int age){
this.name = name;
this.age = age;
System.out.println(“Person的两个参数的构造函数”);
}

void eat(){
    System.out.println("吃饭");
}

}
创建一个名为Person1的类并且定义name,age,Person1(),Person1(String name , int age),eat ()变量和函数。
class Student1 extends Person1{
Student1(){
System.out.println(“student的无参数构造函数”);
}
}
创建子类Student1,并且自定义构造函数Student1。
public class Test03{
public static void main(String[] args){
Student1 student = new Student1();

}

}
创建Test03类调用Student1的构造函数,查看输出结果。
Persom的无参数构造函数;
student的无参数构造函数;
因为子类构造函数中,必须调用父类的构造函数,
Student(){
Super();
System.out.println();

}
编译器自动增加super()函数,调用父类构造函数,根据构造函数中的参数来决定调用哪一个构造函数,与this();调用同类中的构造函数不同。
super()好处: class Student1 extends Person1{
int grade;
Student1(){
System.out.println(“student的无参数构造函数”);
}
Student1(String name ,int age, int grade){
//this.name = name;
//this.age = age;
super(name,age);
this.grade = grade;
}
}
可以省略注释中重复的参数赋值代码,调用父类构造函数中相同参数的构造函数。编译过程中应先定义变量,我忘记了导致找不到变量。
注意:super()必须为第一条语句。并且extends语句只能继承父类的成员变量和成员函数。super()继承构造函数。!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值