關於java中的final和static

關於final:

final:最終的  --> 可以類比成閹割手術,被final修飾沒有後續
 可以修飾:類,成員變量,成員方法;
        修飾類:最終的類,不能有子類
        修飾成員變量:變成常量
            自定義常量的格式:
                public static final 數據類型 常量名 = 初始化值;
        修飾成員方法:子類不能重寫

 

關於static:


static:靜態的
    可以修飾:成員變量,成員方法
    被 static 修飾的成員具備以下特點:
        1.隨着類的加載而加載優先於對象
        2.被所有的對象所共享
        3.可以使用類名直接調用
        
                                 非靜態成員方法         靜態成員方法
    靜態成員變量                 可以                     可以
    靜態成員方法                 可以                     可以
    非靜態成員變量              可以                    不可以
    非靜態成員方法              可以                    不可以


       靜態雖好,但是隻能訪問靜態的成員;
       若要在靜態方法內使用非靜態的成員,必須提前創建好對象,使用對象調方法(屬性);比如main()方法
            
    靜態在工具類中使用廣泛:
        工具類編寫的步驟:
            1.創建一個類  類名 XxxxUtils
            2.私有無參構造方法並不提供任何其他的構造方法
            3.把所有的成員方法使用 public static 修飾
                所有的成員變量 使用自定義常量表示;  public static final 去修飾
    
    static 不能和哪些關鍵字公用:
        1. this : this 代表的本類對象的引用,要有對象纔會有this,而 static 修飾的方法是隨着類的加載而加載優先於對象;
        2. abstract :  static 修飾的成員方法可以使用類名調用,而 abstract 修飾的方法沒有方法體 不能被直接調用;

 

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