[if !supportLists]一.[endif]final關(guān)鍵字
final關(guān)鍵字可以修飾類,成員方法和變量
修飾類時表明該類是一個最終類,不能被繼承(太監(jiān)類)
修飾方法時,該方法可以被繼承但不能被重寫
修飾局部變量表明該變量是一個常量,不能重新賦值(基本數(shù)據(jù)類型值不變,引用數(shù)據(jù)類型地址不變,final也是局部變量可以有的唯一修飾符)
修飾成員變量時表明該變量是常量,不能重新賦值。并且對于該變量的賦值應(yīng)早于對象的建立(直接賦值或者在構(gòu)造方法中賦值,命名規(guī)則應(yīng)該用大寫字母以下劃線連接)
[if !supportLists]二.[endif]static關(guān)鍵字
static修飾的成員變量和成員方法是靜態(tài)成員,隨著類的加載到方法區(qū)的靜態(tài)區(qū)中,被所有的該類對象所共享,靜態(tài)成員是屬于類的,可以直接用類名調(diào)用。
[if !supportLists]三.[endif]接口
是引用數(shù)據(jù)的一種,方法的集合(不能定義變量,可以定義常量)
定義格式
public interface接口名{
抽象方法;
默認(rèn)方法;
靜態(tài)方法;
}
實(shí)現(xiàn)類類似繼承,關(guān)鍵字是implements,類可以實(shí)現(xiàn)多個接口,類在繼承類的時候也可以實(shí)現(xiàn)多個類,格式如下:
public class類名 extends父類名 implements 接口1,接口2{}
類(普通類,抽象類可以部分重寫)在實(shí)現(xiàn)接口時,必須重寫所有的抽象方法,默認(rèn)方法可重寫可不重寫,靜態(tài)方法無法重寫。
如果實(shí)現(xiàn)的接口中抽象方法有重復(fù)的,只需要重寫一個;默認(rèn)方法有重復(fù)的必須重寫;靜態(tài)方法就算重復(fù)也是屬于各個接口的。
如果父類中的普通方法與接口中的默認(rèn)方法有重復(fù),子類優(yōu)先使用父類的方法。
接口可以繼承多接口,必須重寫重復(fù)的默認(rèn)方法
public interface子接口 extends 父接口1,父接口2{}
抽象類是對對象的高度抽象,接口則是對功能的高度抽象