Java 的小白學(xué)習(xí)筆記九(面向?qū)ο?繼承)

繼承

繼承特性

1. 子類擁有父類非private的屬性,方法

2. 子類可以擁有自己的屬性和方法

3. 子類可以用自己的方式實(shí)現(xiàn)父類的方法

4. 單繼承,可以多重繼承

繼承關(guān)鍵字

extends

//父類

class Animal2{

????private String name;

????private int age;

????public Animal2 (String n,int a) {

????????this.name = n;

????????this.age = a;

????}

????public void hello() {

????????System.out.println("你好,我是 "+name);

????}

}

//子類

class Dog2 extends Animal2{ //繼承使用extends關(guān)鍵字

????public Dog2(String n,int a){

????????super(n,a);

????}

}

implements

implements關(guān)鍵字可以變相使Java具有多繼承的特性,使用范圍為類繼承接口的情況,一個(gè)類可以同時(shí)繼承多個(gè)接口

public interface A {

????public void eat();

}

public interface B {? ?

????public void show();

}

public class C implements A,B {

? ? public void eat(){ }

? ? public void show(){}

}

super與this

super關(guān)鍵字用來實(shí)現(xiàn)對(duì)父類成員的訪問,引用當(dāng)前對(duì)象的父類,this關(guān)鍵字指向自己的引用

class Animal {

????void eat() {

????????System.out.println("animal : eat");

? }

}

class Dog extends Animal {?

????void eat() {? ?

????????System.out.println("dog : eat");

? }

????void eatTest() {? ?

????????this.eat();? // this 調(diào)用自己的方法? ? ????????super.eat();? // super 調(diào)用父類方法?

????}

}

public class Test {?

????public static void main(String[] args) {

? ? Animal a = new Animal();

? ? a.eat();

? ? Dog d = new Dog();

? ? d.eatTest();

? }

}

final

用final關(guān)鍵字聲明類,該類不能被繼承;聲明方法,該方法不能被子類重寫

若實(shí)例變量被聲明為final,這個(gè)變量就不能被修改。被聲明為final類的方法自動(dòng)被聲明為final,但實(shí)例變量不是final?

構(gòu)造器

子類不能繼承父類的構(gòu)造器,如果父類的構(gòu)造器有參數(shù),必須在子類的構(gòu)造器中顯示的通過super關(guān)鍵字調(diào)用父類構(gòu)造器,并帶有適當(dāng)?shù)膮?shù)列表

public class SuperClass {

private int age;

public SuperClass(int age){

this.age = age;

System.out.println("SuperClass:"+this.age);

}

}

public class SubClass extends SuperClass {

private int age;

public SubClass(int age){

super(5);

this.age = age;

System.out.println("sbuclass:"+this.age);

}

public static void main(String[] args) {

SubClass s = new SubClass(2);

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,706評(píng)論 18 399
  • 今天的主要內(nèi)容是構(gòu)造方法,static用法,繼承,多態(tài),抽象類,接口。由于從今天開始JAVA的學(xué)習(xí)基本上都是面向?qū)?..
    沒說再見閱讀 497評(píng)論 0 0
  • 今天被人推薦了一個(gè)搜素引擎,打開一看我就嚇到了,這... 簡(jiǎn)直是啥都有嘛...在這個(gè)網(wǎng)站中集成了各種喪心病狂的單一...
    粉藍(lán)閱讀 495評(píng)論 0 0
  • 我擠壓所有時(shí)間 讓自己凈場(chǎng)。 你 不知何往。 我看遍所有云朵 讓自己安詳。 你 依然遠(yuǎn)方。 時(shí)間的拒絕 生硬鈍澀。...
    饅頭小米粥閱讀 160評(píng)論 0 0

友情鏈接更多精彩內(nèi)容