轉(zhuǎn)發(fā)請注明出處:
安卓猴的博客(http://sunjiajia.com)
本節(jié)課程將學(xué)習(xí)以下內(nèi)容:
- 函數(shù)的復(fù)寫(override)
- 使用super調(diào)用父類的成員函數(shù)
函數(shù)的復(fù)寫(override)
復(fù)寫(override),也被稱為覆蓋或者重寫。
在你對父類的成員方法不滿意的時(shí)候,你可以在子類中復(fù)寫這個(gè)方法,來寫出符合自己要求的方法。
特點(diǎn):
- 1.在具有父子關(guān)系的兩個(gè)類當(dāng)中;
- 2.子類和父類中各有一個(gè)函數(shù),這個(gè)函數(shù)的定義(返回值類型,函數(shù)名和參數(shù)列表)完全相同,那么它們的關(guān)系就是復(fù)寫。
使用super調(diào)用父類的成員函數(shù)
左右:
減少子類復(fù)寫父類的成員方法時(shí)出現(xiàn)的重復(fù)代碼。
例子:(請動手)
1.新建一個(gè)名為Person.java的Java源文件:
class Person{
String name;
int age;
void introduce(){
System.out.println("我的名字叫 " + this.name + ",我的年齡是 " + this.age);
}
}
2.新建一個(gè)名為Student.java的Java源文件:
class Student extends Person{
int grade;
// 復(fù)寫(override),也被稱為覆蓋或者重寫
void introduce(){
// 使用super調(diào)用父類Person的成員函數(shù);
// 它不一定必須寫在第一行。
super.introduce();
System.out.println("我的年級是 " + grade);
}
}
3.新建一個(gè)名為Demo01.java的Java源文件:
class Demo01{
public static void main(String[] args) {
Student stu01 = new Student();
stu01.name = "zhang3";
stu01.age = 19;
stu01.grade = 8;
stu01.introduce();
Person p1 = new Person();
p1.name = "zhang3";
p1.age = 19;
p1.introduce();
}
}