首页 > 代码库 > 11.子类实例化过程
11.子类实例化过程
- 生成子类的过程
- 子类继承了父类的成员变量,但却无法继承父类的构造函数
- 当生成子类对象的时候,一定会调用父类的构造函数
- 如果子类当中没有调用构造函数,编译器会自动添加super(),用于调用父类当中的无参数构造函数
- 使用super调用父类构造函数的方法
- 在子类要调用父类函数的话,super()一定要是构造函数的第一条语句
classPerson{
String name;
int age;
int grade;
Person(){
System.out.println("Person的无参数构造函数");
}
Person(String name ,int age){
this.name = name;
this.age = age;
System.out.println("Person的有参数构造函数");
}
void eat(){
System.out.println("吃饭");
}
}
classStudent extends Person{
//在子类的构造函数当中,必须调用父类的构造函数
Student(){
super();
System.out.println("student的无参数构造函数");
}
Student(String name,int age,int grade){
//this.name = name;
//this.age = age;
super(name,age);
this.grade = grade;
}
}
classTest{
publicstaticvoid main(String args []){
Student student =newStudent("zhagnsan",18,3);
System.out.println(student.name);
System.out.println(student.age);
System.out.println(student.grade);
}
}
结果:
D:\work\src>javac *.java
D:\work\src>java Test
Person的有参数构造函数
zhagnsan
18
3
来自为知笔记(Wiz)
11.子类实例化过程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。