java中3個修飾符static、final、abstract和接口(個人總結)


static:

1、通常用於修飾方法和變量,static修飾的方法和變量歸類所有,可以用類.方法名和類.變量名直接使用

2、static修飾的方法不能在非static的中直接調用,要實例化類對象才能調用

3、static修飾的變量比如:public static int a=5;

會在內存中只開辟一個空間,表名這是一個全局變量,不會再創建新的空間,static修飾的int等類型的值是可以改變的。

final:

1、final修飾類時,表名這個類已經很完美了,所以不需要被重寫和繼承。

2、final修飾方法時,表示這個方法也很完美,不需要被重寫,但是子類可以繼承直接使用。

3、final修飾屬性(對象或者叫變量)時:

final修飾8種基本類型的變量時,變量的值不可以改變。

final修飾對象時,對象的值可以 對象名.append(""),但是不可以再實例化一次該對象。

final和abstract不可以共用:原因1:final類表示完美不需要繼承重寫,abstract類表示要子類繼承。原因2:修飾方法時:final表示完美

不需要重寫,只能子類繼承使用,而abstract中的方法沒有東西,所以並不完美。以上兩點都是沖突的。故不成立。

abstract(抽象):

解釋:在java種,對象是通過類來描繪的,但是有一種類叫做抽象類,不用來描繪對象。

1、abstract修飾類時,表明這是一個抽象類,抽象類不可以實例化對象,但是可以被繼承,子類創建實例化對象來調用方法。

2、抽象類中可以有main方法,也可以有普通方法,又可以沒有抽象方法,但是有抽象方法的類一定是抽象類。

3、子類繼承了抽象類,就必須繼承父類的抽象方法,非抽象方法不要求繼承,如果子類是抽象類的話,也可以不繼承父類的抽象方法。

4、abstract修飾方法時候,如下:public abstract int check();抽象方法沒有方法體;可以由子類重寫來具體實現。

5、抽象類是可以繼承普通類的。

接口(interface):

1、接口可以看作一個特殊的抽象類,但是兩個是不同的概念,類描述對象的屬性和方法,接口則包含類要實現的方法。

通常把接口中的abstract省略。

2、接口的實現類必須實現接口中的所有方法。

3、抽象類也可以實現接口,接口可以繼承接口,畢竟接口也是一個特殊的抽象類,既然是抽象類為什么不能繼承類呢?

4、既然我們知道接口是一個特殊的抽象類,所以接口和抽象類一樣不能實例化對象。

5、接口不能包含成員變量,除了 static 和 final 變量。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM