轉(zhuǎn)發(fā)請(qǐng)注明出處:
安卓猴的博客(http://sunjiajia.com)
本節(jié)課程將學(xué)習(xí)以下內(nèi)容:
- 生成子類的過程
- 使用super調(diào)用父類構(gòu)造函數(shù)的方法
生成子類的過程
使用super調(diào)用父類構(gòu)造函數(shù)的方法
注意:
- 在子類的構(gòu)造函數(shù)中,必須調(diào)用父類的構(gòu)造函數(shù);
- super所調(diào)用的是父類的哪個(gè)構(gòu)造函數(shù),是由super(參數(shù))中的參數(shù)個(gè)數(shù)決定;
- super(參數(shù));必須是構(gòu)造函數(shù)的第一行。
例子:(請(qǐng)動(dòng)手)
1.新建一個(gè)名為Person.java的Java源文件:
class Person{
String name;
int age;
Person(){
System.out.println("Person的無參數(shù)構(gòu)造函數(shù)");
}
Person(String name, int age){
this.name = name;
this.age = age;
System.out.println("Person的有參數(shù)構(gòu)造函數(shù)");
}
void eat(){
System.out.println("吃東西");
}
void introduce(){
System.out.println("我的名字叫 " + this.name + ",我的年齡 " + this.age);
}
}
2.新建一個(gè)名為Student.java的Java源文件:
class Student extends Person{
int grade;
Student(){
System.out.println("Student的無參數(shù)構(gòu)造函數(shù)");
}
Student(String name, int age, int grade){
// 調(diào)用父類Person當(dāng)中的有兩個(gè)參數(shù)name和age的構(gòu)造函數(shù)
super(name, age);
this.grade = grade;
System.out.println("Student的有參數(shù)構(gòu)造函數(shù)");
}
void study(){
System.out.println("我學(xué)習(xí)的年級(jí)是 " + this.grade);
}
}
3.新建一個(gè)名為Demo01.java的Java源文件:
class Demo01{
public static void main(String[] args) {
Student stu01 = new Student("zhang3",18,3);
stu01.eat();
stu01.introduce();
stu01.study();
}
}