繼承
- 繼承的本質是對某一批類的抽象,從而實作對現實世界更好的建模, extends的意思是“擴展”,子類是父類的擴展,
2.JAVA中類只有單繼承,沒有多繼承! 繼承是類和類之間的一種關系,除此之外類和類之間的關系還有依賴、組合、聚合等,
3.繼承關系的倆個類,一個為子類(派生類)一個為父類(基類),子類繼承父類使用關鍵字 extends來表
4.子類和父類之間從意義上講應該具有isa"的關系 object類 super this
創建父類、子類,子類中繼承父類的所有方法
1.main函式
public class appliction {
public static void main(String[] args) {
Student student = new Student();//new一個student物件
student.test("世界和平");//呼叫用text方法
}
}
2.子類
//子類繼承父類,就會擁有父類所有方法
public class Student extends Person{
public String name = "世界";//定義一個物件
public void test(String name){
System.out.println(name);//這里的name是主函式傳入的變數
System.out.println(this.name);//這里的name是自身定義的name"世界"
System.out.println(super.name);//這里的name是父類中的name,使用super呼叫
}
}
3.父類
public class Person {
protected String name = "你好";
}
輸出結果:
從結果可以看出, 首先輸出“世界你好”,因為在子類的方法中第一條輸出陳述句為主函式傳入的變數,以此類推輸出剩下的結果,
在父類子類中建構式,并在主函式中呼叫
1.主函式
public static void main(String[] args) {
Student student = new Student();
student.test1();
}
2.子類
public class Student extends Person{
public void print(){
System.out.println("Student");
}
public void test1(){
this.print();//this表示自身的方法
super.print();//用super呼叫父類的方法
}
3.父類
public class Person {
public void print(){
System.out.println("Person");
}
}
運行結果:

在父類子類顯示無參構造
1.主函式
public static void main(String[] args) {
Student student = new Student();//new一個stuent物件
}
2.子類
public class Student extends Person{
//子類呼叫無參構造
//正常情況下,為隱藏代碼,自動呼叫子類構造器
public Student() {
//如果父類為有參構造,所以在super中需加入引數否則會出現錯誤
super();//代用父類構造器,必須在子類構造器第一行
System.out.println("Student無參構造");
}
3.父類
public class Person {
//呼叫無參構造器
public Person() {
System.out.println("Person無參構造");
}
}
運行結果:
super的注意點
1.super呼叫父類的構造方法,必須在構造方法的第一個
2.super只能出現在子類的方法或者構造方法中 和this的區別
代表物件不同: this:本身呼叫者這個物件 super:代表父類物件的應用 前提: this:沒有繼承也可以用 super:只有在繼承條件中才可以使用 構造方法: this :本類的構造 super:父類的構造
初次學習,不足之處之后學習到再進行完善補充
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/271324.html
標籤:java
上一篇:【每日藍橋】49、一七年省賽Java組真題“日期問題”
下一篇:友元和static


