JAVA複習筆記01

學了一學期的JAVA,臨近期末,整理了一些JAVA考試中須要掌握的點,記錄在這裏。java

一、編譯多個JAVA文件,運行程序數組

 (1)函數

javac 1.java 2.java
java Main

 

 (2)spa

javac .\*.java
java Main

  

二、JAVA中基本數據類型/佔有bit大小.net

byte 8    short 16
int 32    long 64
float 32    double 64
char 16    boolean 不定

  java Unicode碼儲存char,故有2字節。code

  boolean的大小取決於上下文。(延伸閱讀:https://blog.csdn.net/qq_35181209/article/details/77016508)對象

 

三、JAVA中遇到的double精度損失問題可使用BigDecimalblog

 

四、final關鍵字繼承

  final關鍵字修飾類,該類不能被繼承接口

  final關鍵字修飾方法,該方法不能被重寫

  final關鍵字修飾成員變量,該變量不能被改變(必須被初始化)

 

五、訪問權限

  由小到大依次爲:

  private 同類中

  friendly 同包中

  protected 同包中,子類,子類的子類

  public 所有

 

六、不等長二維數組

int[][] a=new int[3][];
a[0]=new int[4];

 

七、可變參數

public void test(String s,int ... a){}

  可變參數必須放在最後,訪問方式相似於數組:a[0],a[1]...

 

八、異常的繼承關係

  參考連接:https://blog.csdn.net/u013252223/article/details/71514620

 

九、短路

test(0)&&test(1)&&test(2)

  相似於上面的判斷語句,JAVA會順序執行,在肯定該語句的值後再也不繼續向後執行

 

十、繼承關係中的構造順序

  按前後順序依次是:

  父類靜態成員及static塊:有對象實例化就執行,只執行一次
  子類靜態成員及static塊:有對象實例化就執行,只執行一次
  父類普通成員初始化\代碼塊執行
  父類構造函數
  子類普通成員初始化\代碼塊執行
  子類構造函數

  成員初始化的順序取決於定義的位置先後。

 

十一、單例模式

  一種單例模式:

public class Singleton {
    private static Singleton uniqueInstance = new Singleton();
    private Singleton() {}
    public static Singleton getInstance() {
        return uniqueInstance;
    }
    public void foo() {
        System.out.println("Aha!");
    }
}

 

十二、僅僅方法返回值不一樣(參數相同)不能重載,會報錯

 

1三、方法覆蓋

  (1)子類的異常拋出不能比父類更寬泛(延伸閱讀:https://blog.csdn.net/yangyong0717/article/details/78494615
  (2)不能縮小父類方法的訪問權限
  (3)靜態方法不能重寫爲非靜態方法/反之也不行

 

1四、多態

  多態中,屬性、靜態方法會被隱藏,非靜態方法會被覆蓋。

  被隱藏的方法和變量能夠在子類中用super關鍵字使用(但要有權限)

  例如:

Parent partent=new Child();

  那麼此時調用的是本被隱藏的父類的屬性和靜態方法。

 

1五、類繼承多個接口時,接口中出現同名函數,他們的返回值不一樣而參數相同,則會報錯。出現同名變量不訪問不會報錯,若是試圖訪問則有錯誤。

 

值得一提的是,若是多繼承的兩個變量同名但被隱藏了,那麼不會報錯。

相關文章
相關標籤/搜索