面試題
student s = new student(); 在記憶體中做了哪些事情方法重寫(override)和方法過載(overload)的區別1.載入student.class 進記憶體;
2.在棧記憶體中開闢棧記憶體空間;
3.在堆記憶體中申請空間;
4.對書記進行初始化(成員變數)----先系統預設初始化,然後顯式初始化,set***(形參)/構造方法賦值;
5.堆記憶體中申請空間完畢,產生乙個堆存位址;
6.將堆記憶體位址賦值給棧記憶體變數s;
7.棧記憶體變數s指向堆記憶體位址.
1>.方法過載:方法名相同,引數列表不同,與返回值無關;引數列表不同分為,資料型別不同和引數個數是否相同
2>.方法重寫:子類出現和父類一摸一樣的方法宣告:許可權修飾符 返回值型別 方法名 形式引數都相同 ,子類該方法還會將父類的方法覆蓋掉
**被final修飾的成員方法不能被重寫**
public
class
demo
; system.out.
println
("排序前:");
array
(arr)
; system.out.
println
("排序之後:");
array
(arr);}
//遍歷陣列
public
static
void
array
(int
arr)")
;}else}}
public
static
void
switchsort
(int
arr)}}
}}
物件導向的三大特點
封 將屬性和方法私有化不讓資訊外漏,保證安全性,就屬性私有化就是加上private,同時有set和get方法這樣可以用set方法改變私有屬性的值,get可以對外獲取屬性的值 構造方法可以私有化在構造方法前加上private this關鍵字 繼承 父類擁有好多類共有的屬性和方法,所以子類繼承父類的全部...
內部類的主要分類,以及各個內部類的特點
內部類可以分為很多種,但是主要有4種內部類 靜態內部類 成員內部類 區域性內部類 匿名內部類。1.靜態內部類是指被宣告為static的內部類,不能訪問外部類的普通成員變數,只能訪問外部類中的靜態成員變數和靜態方法。2.去掉關鍵字static就是成員內部類,可以自由的引用外部類的屬性和方法。3.區域性...
OOP物件導向三大特點
一 封裝 將現實中乙個事物的屬性和功能集中定義在乙個物件中。建立物件 建立物件的3種方式 1.直接量方式 建立乙個單獨的物件 var obj 2.用new方式 var obj new object obj.屬性名 值 obj.方法名 function 3.反覆建立多個相同結構的物件的方式 2步 定義...