1-java方法與屬性調用
Java中調用屬性與方法有什么規(guī)則? 不同的對象之間: 訪問類的靜態(tài)屬性:類名.屬性;對象名.屬性 訪問類的動態(tài)屬性:對象名.屬性 調用類的靜態(tài)方法:類名.方法名();對象名.方法名() 調用類的動態(tài)方法:對象名.方法名() 同一個對象之間: 訪問類的動態(tài)屬性:對象名.屬性 訪問類的靜態(tài)屬性:類名.屬性;對象名.屬性 調用類的動態(tài)方法:方法名();對象名.方法名 調用類的靜態(tài)方法:類名.方法名();對象名.方法名
2-內存思維 靜態(tài)調用的內存理解: 
動態(tài)調用的內存理解:
下面例子為什么有這樣的輸出結果?從內存的角度理解。 因為new出一個新的內存來存放動態(tài)屬性,改變一個對象內的動態(tài)屬性并不改變TestA和其他對象內的動態(tài)屬性。動態(tài)屬性的存放是各自獨立,互不影響的。

下面例子為什么有這樣的輸出結果?從內存的角度理解。 因為new出來的對象是通過引用TestA來開辟內存空間的,ta1和ta2都可以直接調用靜態(tài)屬性和方法,所以當其中的一個對象調用后改變了靜態(tài)屬性和方法,其它的對象再次調用時,這個值會變成前一個對象調用后改變的值

什么時候用靜態(tài)屬性?什么時候用動態(tài)屬性? 當屬于每一個新建的類特有的屬性時用動態(tài)屬性;屬于所有的類公用的屬性時使用動態(tài)屬性。 希望共享的內容設置為靜態(tài)屬性,不共享的內容設置為動態(tài)屬性。
類內部動態(tài)方法調用動態(tài)屬性/方法為什么可以不new? 因為它們在同一個類中。即它們放在同一個內存塊中,可以直接調用。
TestA ta = new TestA();與TestA ta = null;的區(qū)別? 有new,內存才會對這個對象的動態(tài)屬性分配內存空間。第二種分配了內存空間,但內存中不存在動態(tài)屬性。
新聞熱點
疑難解答