一、創建對象時,如果其類有構造器,java就會在用戶有能力操作對象之前自動調用相應的構造器,從而保證了初始化的進行。
二、每個重載方法都必須有獨一無二的參數類型列表
如果傳入的數據類型小于方法中聲明的形式參數類型,實際數據類型就會被提升。
如果傳入的數據類型較大,就得通過類型轉換來執行窄化轉換。
三、如果寫的類中沒有構造器,編譯器就會自動幫你創建一個默認構造器。
四、this關鍵字只能在方法內部使用,表示對“調用方法的那個對象”的引用
this關鍵字也可以用于將當前對象傳遞給其他方法
使用this在一個構造器中調用另外一個構造器,除構造器內之外,編譯器禁止在其他任何方法中調用構造器,并且必須將構造器調用置于最起始處。
static方法就是沒有this的方法,在static方法的內部不能調用非靜態方法。
五、1.對象可能不被垃圾回收
2.垃圾回收并不等于“析構”
3.垃圾回收只于內存有關
Java中允許在類中定義一個名為finalize()的方法清理內存:一旦垃圾回收器準備好釋放對象占用的存儲空間,首先調用該方法,并且在下一次垃圾回收動作發生時,才會真正回收對象占用的內存,但是要盡量少地使用這個方法。
Java虛擬機將采用一種自適應的垃圾回收技術,即停止-復制 以及 標記-清掃 (<Java編程思想> P90-91)
六、如果一個域是靜態的基本類型域,且也沒有對它進行初始化,那么他就會獲得基本類型的標準初值,如果他是一個對象引用,他的默認初始化值為null
初始化的順序是先靜態對象,而后是非靜態對象,靜態對象的初始化只執行一次。
Java允許將多個靜態初始化動作組織成一個特殊的“靜態子句”
七、數組初始化 int[] a1或者int a2[]
Arrays.toString()方法屬于java.util標準類庫,它將產生一位數組的可打印版本。
可變參數列表: Object[] args 或者 Integer... args等
可變參數列表與自動包裝機制可以和睦相處
八、使用enum創建枚舉類型
創建enum時,編譯器會自動添加一些有用的特性,會自動創建toString()方法,可以顯示實例的名字,ordinal()方法用于表示某個enum常量的聲明順序
新聞熱點
疑難解答