Java提供的Object類及其子類的繼承關係如同一棵倒立的樹形,根類爲Object類,Object類功能強大,經常會使用到它及其它派生的子類。下面是小編收集的Java筆試常考知識點,希望大家認真閱讀!
1.獲得Class對象的三種方式
// 1. 根據給定的類名來獲得 用於類加載
String classname = "on";// 來自配置文件
Class clazz = ame(classname);// 此對象代表s
// 2. 如果拿到了對象,不知道是什麼類型 用於獲得對象的類型
Object obj = new Person();
Class clazz1 = lass();// 獲得對象具體的類型
// 3. 如果是明確地獲得某個類的Class對象 主要用於傳參
Class clazz2 = s;
引深一下Java創建對象的幾種方式:
(1) 用new語句創建對象,這是最常見的創建對象的方法。
(2) 運用反射手段,調用s或者tructor類的newInstance()實例方法。
(3) 調用對象的clone()方法。
(4) 運用反序列化手段,調用ctInputStream對象的 readObject()方法。
(1)和(2)都會明確的顯式的'調用構造函數 ;(3)是在內存上對已有對象的影印,所以不會調用構造函數 ;(4)是從文件中還原類的對象,也不會調用構造函數。
變量合法性
$ 、字母、下劃線開頭都行,後面的可以是數字、字母、下劃線;不能以數字開頭。不含有Java關鍵字
3.修飾符互斥
abstract不可以用static,native或synchronized修飾
其中native是聲明本地方法,交給操作系統去實現,JNI調用時候使用。
4.靜態變量,Main函數引用
Main函數中可以直接使用static類變量,不能直接使用非靜態變量,使用非靜態變量要首先new對象後,才能使用
不能在靜態方法中調用非靜態的方法或者變量(已經存在的東西不能引用還不存在的東西);非靜態方法可以直接調用靜態變量並且給它賦值,但不可以在非靜態方法中定義靜態變量;
5.修飾符訪問權限(本類,本包,子類,外部)
(1)public:可以被所有其他類所訪問。(all)
(2)private:只能被自己訪問和修改。本類
(3)protected:自身,子類及同一個包中類可以訪問。 本類,本包,子類
(4)default(默認):同一包中的類可以訪問,聲明時沒有加修飾符,認爲是friendly。 本類,本包
繼承中的構造方法
(1)子類的構造過程中必須調用其基類的構造方法。
(2)子類可以在自己的構造方法中使用super(argument_list)調用基類的構造方法。
2.1、使用this(argument_list)調用本類的另外構造方法。
2.2、如果調用super,必須寫在子類構造方法的第一行。
(3)如果子類的構造方法中沒有顯示的調用基類的構造方法,則系統默認調用基類的無參數構造方法。
(4)如果子類構造方法中既沒有顯示調用基類構造方法,而基類又沒有無參數的構造方法,則編譯出錯。