值傳遞
public
class
valuepass
public
static
void
modify
(int a)
}輸出為0,因為a++為對形式引數進行自增,不是對類屬性a。
引用傳遞,輸出為8
final int num= 20;
num=30;//編譯錯誤
2.如果修飾方法,則該方法在子類當中不能被覆蓋, 可防止任何繼承類修改此方法,保證了程式的安全性和正確性。
3.final修飾類,則該類不能被繼承
int arr = new int[10];
產生乙個有10個單元,型別為int的陣列物件,所有單元的初值為0
2.陣列元素為引用型別
string example = new string[10];
產生乙個具有10個單元的陣列物件,每個單元存放的是1個string物件的引用,所有單元的初值為null,此時並未建立具體的string物件,為陣列物件引用賦值後,才能使用陣列元素,否則丟擲nullpointerexception異常
example[0] = new string("ab");
引用型別 物件和陣列
1.建立物件 物件 引用型別的值,是引用型別的乙個例項 建立object例項。方法一 使用new操作符後跟object建構函式。var person new object person.name nicholas person.age 29 方法二 使用物件字面量表示法 不會呼叫object建構函式...
物件導向 重寫 Final
1 存在父子關係,方法 2 只有當父類的方法滿足不了子類的需求,才會重寫1 私有方法不能重寫 可以重新出現,但是不是重寫 新增 2 靜態方法不是重寫 可以重新出現,但是不是重寫 新增 3 final修飾的方法不能重寫 在子類中就不能再出現使用 進行比較使用equals方法進行比較效率比equals高...
物件和物件引用
每天都在變化,每天都在進步 基礎情況 a a new a a a 建立了個a 型別的引用a,此時指向null new a 在堆中建立了乙個類a的物件,返回其引用位址 將物件的位址給予引用 情景1a a new a 01 a b a 02 a null 03 此時b仍然有資料,因為 02 的時候,發生...