java繼承extends

奇妙之二進位制發表於2020-11-29

在Java中,如果要實現繼承的關係,可以使用如下的語法:

class 子類 extends 父類 {}

子類又被稱為派生類; 父類又被稱為超類(Super Class)。C++裡似乎沒有超類這個說法,一般是說基類。

可見,java使用extends代替了冒號,C++裡頭是:

class 子類 : 父類{}

C++裡有私有、保護、公共繼承這種說法,java沒有。如:

class Student : public Person{
}

在 Java 中,類的繼承是單一繼承,也就是說,一個子類只能擁有一個父類,所以 extends 只能繼承一個類。不像C++,可以:

class Student : public Person, public Chinese{
}

繼承本身的語法並不難,難的的是由之引入的概念重寫。

需要明白:
子類和父類的同名成員變數佔據獨立的地址空間,且不存在多型現象:

Person stu = new Student(10,"xiaoMing",4415812000l);
System.out.println(stu.id);//仍然列印Person的id

子類方法重寫時才存在多型現象。

關於重寫見其他文章。

相關文章