面向對象之final_static_接口

面向對象之final_static_接口

關鍵字:final

只能在成員定義前修飾final使用

  1. 中修改的final的話,就會不能繼承

  2. 成員方法中,不能重寫,但是可以使用

  3. 局部變量中,可以賦初始值,但是不能再次賦值,一旦 賦值就不能繼續賦值了

  4. 引用類型中,中可以給 final(final new Dog a =new Dog();),該引用的地址值不能發生改變,否則會報錯

  5. 全局變量中,final修飾成員變量,必須在創建對象之前必須有值;第一種你可以在創建時定義,第二種就是你可以在構造器中定義。

    注意:final關鍵字和abstract是衝突的。

關鍵字:static (類變量\靜態變量)

​ 解釋:可以被成員變量和成員方法,修飾,如果被修飾了,他不屬於對象,1他是被大家共享的(靜態方法區);

  1. 靜態變量:可以被成員變量和成員方法,修飾,如果被修飾了,他不屬於對象,1他是被大家共享的(靜態方法區);
  2. 靜態方法:可以不用創建對象,(直接類.方法名)調用
  3. 靜態類:(一般是內部類使用)
靜態和靜態可以訪問,非靜態可以訪問非靜態

非靜態可以訪問靜態(晚),靜態不可以訪問非靜態(早)另一個比較出現的慢(晚)

​ 調用格式:

靜態的成員變量:

​	對象名.靜態的成員變量[可以訪問,但是不要 這樣寫];

​	類名.靜態成員變量

靜態的成員方法;

對象名.方法名:


接口

​ 簡介:

什麼是接口;
    接口是:引用類型,接口是方法的集合(主要寫方法,也可以寫其他的方法)
    

​ 定義格式:

定義類:class
定義接口:interface
定義枚舉:enum
定義註解;@interface(Annmon)
    
    格式:
    public interface 接口名字{
    //抽象方法【JDK7】
    //默認方法和靜態方法【JDK8】
    //私有方法和靜態方法【JDK9】
    
}
    

接口的使用:

1.和抽象類一樣,但是他是不能創建對象 
2.接口是作爲父接口使用的,用於被其他的類"實現"3.繼承的關鍵字是:extends,而實現的關鍵字是:implements使用方式:
    public  class 實現類 implements 接口名字{
        //實現的方法;
    }


可以使用abstract,但是默認可以不寫,我們可以直接將用
    參數類型 方法名();(必須實現方法)
如果用defualt的話,(可以不用實現方法)
如果用static的話,沒有重寫的說法(他是通過所在類,或者所在方法直接類.方法名調用的)

接口的優先級:

​ 可以在繼承一個父類,可以實現多個接口(可以同時存在的)

接口的多繼承

類與類之間的:單繼承

類與接口之間的:多實現

接口與接口之間:可以多繼承

接口的特點:

1.接口中,無法定義成員變量,但是可以定義常量(public static final 參數類型,常量名(大寫)=常量值)
    public static final在接口中可以省略
2.沒有構造方法,不能創建對象
3.接口中,沒有靜態代碼塊(static{})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章