javaEE基礎08

來源:互聯網
上載者:User

標籤:原因   返回   模式   大括弧   事物   table   pen   方法重寫   ras   

javaEE基礎08一、 繼承

特點:繼承父類的屬性和方法,單繼承(多繼承)

特性:方法的複寫(重寫)

  比如:人可以養狗

     人------>狗:整體和部分(擁有)關係

關鍵字:extends

結構: A類 extends B類:A類繼承B類

 

繼承中所要注意的事項

  1.不要為了繼承而繼承

  2.父類的私人變數(方法)不能夠被繼承

  3.父類的建構函式不能被繼承

  4.子類在調用自己的構造方法時,會預設先調用父類的無參構造方法

  5.對於super的調用必須是構造器中的第一個語句

  6.子類不能繼承不在一個包中預設許可權的成員

 

什麼時候使用繼承:

  兩個類之間必須要滿足is a關係,才能擁有繼承關係。

 

 

二、 super關鍵字

 

Super:指向父類對象的引用空間

 

Super關鍵字的作用:

 

  1.當子類和父類存在同名的成員變數時,可以通過super來調用父類的成員變數

 

  2.Super可以用來調用父類的構造方法

 

public Zi(String color, String name,int age){

//用super來調用父類的構造方法

super(name,age);  //必須是構造器中的第一個語句

this.color = clolr;

}

 

 

 

Super使用的主要事項:  

 

  1.用super調用父類的構造方法,必須是構造方法中的第一個語句

 

  2.Super只能出現在子類的方法和構造方法中

 

  3.Super和this不能同時調用構造方法(因為兩者都必須要在第一個語句)

 

Super和this的區別:

 

  1.代表的事物不一樣:

 

    this:所屬方法調用者對象

 

    super:表示父類對象的引用空間

 

  2.使用前提不一樣:

 

    super:只能在繼承的條件下才能使用

 

    This:在非繼承條件下也可以使用

 

  3.調用構造方法:

 

    super:調用父類的構造方法

 

    this:調用本類的構造方法

 

 

 

二、 重寫

 

方法的複寫作用

 

   父類的方法滿足不了子類的實現,就需要通過複寫方法實現父類的行為

 

方法的重寫使用注意點:

 

  1.方法重寫,必須存在繼承關係

 

  2.方法重寫,方法名和形式參數必須一致

 

  3.方法重寫,子類的許可權修飾符必須要大於或者等於父類的許可權修飾符

 

  4.方法重寫,子類的傳回值類型必須小於或等於父類的傳回值類型

 

  5.方法重寫,子類的異常類型要小於等於父類的異常類型

 

 

 

基礎資料型別 (Elementary Data Type):上下級不明確,因此基礎資料型別 (Elementary Data Type)在第4點不成立

 

 

 

方法重載:

 

  方法名一樣:參數列表個數、類型以及順序不一樣

 

 

 

三、關鍵字

 

instanceof(執行個體類型)關鍵字作用:

 

  1.用來判斷某個對象是否屬於某一個類

 

  2.Instanceof:使用前提對象指定的類有繼承關係或實現關係

 

final關鍵字:

 

  1.如果用final修飾基礎資料型別 (Elementary Data Type)變數,改變了就不能重新賦值,第一次的結果就為最終的結果(final修飾的變數必須要初始化)

 

  2.如果用final修飾引用資料類型,無法給引用資料類型變數賦值

 

  3.如果用final修飾方法,方法就不能被重寫

 

  4.如果用final修飾類,類就不能被繼承

 

如何用final表示常量

 

例:public final static double PI = 3.14;  //變數名要大寫

 

格式: public final static 基礎資料型別 (Elementary Data Type) 變數名

 

 

 

 

 

abstract關鍵字:

 

  被abstract修飾的類就叫做抽象類別

 

  被abstract修飾方法叫做抽象方法

 

  如果一個類繼承了抽象類別,必須要實現抽象類別中的抽象方法

 

Abstract關鍵字的使用:

 

  1.如果一個方法沒有方法體(大括弧的內容即方法體),那麼這個方法必須要abstract修飾

 

  2.如果一個類中有抽象方法,那麼這個類必須要abstract修飾,為抽象類別

 

  3.如果一個非抽象類別,繼承了這個抽象類別,那麼這個非抽象類別中必須重寫所有的抽象方法

 

  4.一個抽象類別是可以擁有非抽象方法的

 

  5.一個抽象類別可以擁有構造方法,作用是讓子類能夠初始化父類中的變數

 

  6.抽象類別不能建立對象

 

    原因:如果建立對象,對象可能會調用到抽象方法,沒有意義

 

  7.一個抽象類別中是可以不出現抽象方法的

 

例:

abstract class Graph

{

//public Graph(){};  預設有一個無參構造

abstract public void area();

}

 

 

 

Abstract不能和:private、static、final使用

 

Abstract關鍵字什麼時候使用

 

  在描述一個事物的時,發現該事物存在某種行為,但該行為又不具體,這種行為就叫做抽象行為,這時使用到抽象類別

 

四、 介面

 

例子:鉛筆:帶橡皮擦的鉛筆

 

  兩個功能:1.寫字----> 鉛筆   2.擦字---->橡皮

 

  現實:java是單繼承,不能同時有兩個功能

 

介面定義模式:

 

interface關鍵字來表示介面

 

//定義一個擦字的介面

interface Eraser

{

int a = 10;  //在介面中定義的變數必須初始化,介面中的變數是用final修飾的

//定義在介面中的方法是不需要實現的

public void clear();//預設是用abstract修飾的,介面中的方法都是抽象方法

}

 

 

實現介面關鍵字 implements

 

class EraserAndPencil implements Eraser, Pencil{

//在裡面必須實現介面裡的方法

}

 

 

 

Java中可以支援多實現,一個類可以實現多個介面,多個介面在 implements 後面用逗號隔開

 

介面的作用:

 

  1.用來拓展功能

 

  2.讓程式解耦

 

  3.定義約束

 

 

 

介面的使用注意事項:

 

  1.介面是一個特殊的類,可以定義屬性和方法

 

  2.屬性預設用final修飾的:public static final int age = 10;實際上是一個常量

 

  3.方法都是抽象的:abstract public

 

  4.介面不能建立對象

 

  5.介面沒有構造方法

 

  6.介面是給類去實現的非抽象類別實現介面時,必須將介面中的方法都實現

 

interface Eraser

{

int a = 10;  //在介面中定義的變數必須初始化,介面中的變數時用final修飾的

//定義在介面中的方法是不需要實現的

public void clear();//預設是用abstract修飾的,介面中的方法都是抽象方法

}

 

類和介面的關係:實現關係

 

  1.一個非抽象類別實現介面,必須實現介面中的方法

 

  2.一個抽象類別實現介面,可以不實現介面中的方法,如果一個非抽象類別繼承抽象類別,那麼這個類需要實現這個介面中的所有方法

 

  介面和介面之間存在繼承關係,可以繼承多個介面

 

 

 

 

javaEE基礎08

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.