Java基礎進階-3-繼承與多態

目錄

1、繼承

2、多態-繼承

3、多態-抽象

4、多態-接口


1、繼承

1、成員

public類型的成員會被繼承

private 類型的成員不會被繼承

子類是無法覆蓋掉父類的實例變量的。

2、重寫

重寫父類的方法,相當於重新定義該方法。

如果你想要重新定義該方法還想要繼續運行父類該方法的行爲,那麼需要運用super。

3、final

被 final修飾的類和方法不能被繼承。

2、多態-繼承

多態最強的地方就是,引用類型可以是實際對象類型的父類。並且可以將dog實例對象當成父類Animal去操作。

多態還體現在 方法參數(可以傳入父類的子類)和返回類型(返回子類的父類)上。

重載與多態毫無關係。

public class Test3 {

    static class Animal{
        String name;
        private void bark(){
            System.out.println("動物叫聲");
        }
    }
    static class Dog extends Animal{
        int age;
    }

    public static void main(String[] args) {
        Animal  a=new Dog();
        a.bark();
    }
}

3、多態-抽象

1、抽象類

抽象類不能被初始化,抽象類除了被繼承之外,是沒有用途,沒有值,沒有目的的。

2、抽象方法

抽象的方法代表一定會被重寫,抽象的方法沒有實體!

如果你聲明瞭一個抽象方法,就必須將該類也標記爲抽象的。你不能在非抽象類中擁有抽象方法。

抽象方法的意義:就算無法實現出方法的內容,但還是定義出一組子類共同的協議。------好處就是:多態。

當然你如果不想實現父類的抽象方法,你可以將自身也編程抽象類,將實現的壓力傳給孫子類。

抽象類也可以實現非抽象方法。

    abstract static class Animal {
        String name;
        abstract void bark();
    }
    abstract static class Dog extends Animal {
        abstract void bark();
        int age;
        public void sleep(){
            System.out.println("睡覺");
        }
    }

Object的主要目的

  1. 作爲多態,讓方法可以應對多種類型機制;
  2. 讓任何對象都有hashCode()等相關方法

4、多態-接口

接口的多態體現在,它可以讓一個類繼承多個來源,是對extends 的擴展。而且多個不同類還可以實現同一個接口,讓這些類都擁有同樣的標準。

實現接口必須實現它的所有方法,因爲接口中的方法都是public和abstract的。

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章