1.length是陣列長度
int a=;
int b=a.length;
length()是字串長度
string c="fasdfasdfla";
c.length();
size()是集合長度
2.靜態方法裡只能訪問本類方法中的靜態成員,不能直接訪問非靜態的屬性和方法。
這是因為靜態方法不依賴於物件,所以當類載入成功後,靜態方法就可以訪問了。而此時物件不一定存在,非靜態成員自然也不一定存在。靜態方法也不能出現this關鍵字,因為this是針對物件而言的。本類中的靜態方法可以訪問本類的靜態屬性,也可以呼叫靜態方法。
靜態資料成員的值是可以修改的。比如:3.static int a = 1;
我可以繼續寫:
a = 2;
這樣沒有問題。只是靜態資料儲存的區域不同而已。
不可修改的是常量。
class a
}class test
}
答案都是 false
equals也錯誤是因為子類沒有覆蓋object的eqauls()方法,而預設呼叫 『 == 』來比較
判斷兩個物件是否相等需要覆蓋equals()方法和hashcode()方法
object.equals原始碼如下:
public boolean equals(object obj)
4.
class a
}class b extends a
}public class childclass
}
答案:150,150
對於多型,可以總結它為:
一、使用父類型別的引用指向子類的物件;
二、該引用只能呼叫父類中定義的方法和變數;
三、如果子類中重寫了父類中的乙個方法,那麼在呼叫這個方法的時候,將會呼叫子類中的這個方法;(動態連線、動態呼叫)
四、變數不能被重寫(覆蓋),」重寫「的概念只針對方法,如果在子類中」重寫「了父類中的變數,那麼在編譯時會報錯。
多型的3個必要條件:
1.繼承 2.重寫 3.父類引用指向子類物件。
向上轉型: person p = new man() ; //向上轉型不需要強制型別轉化
向下轉型: man man = (man)new person() ; //必須強制型別轉化
關鍵的來了,不論向上或者向下轉型,都是一句話,「編譯看左邊,執行看右邊」。也就是編譯時候,會看左邊引用型別是否能正確編譯通過,執行的時候是呼叫右邊的物件的方法。
牛客網錯題集錦6
1 在rhel5系統中使用vi編輯檔案時,使用 末行命令可以像下圖一樣顯示出每一行的行號。答案 set nu 2 一台主機要實現通過區域網與另乙個區域網通訊,需要做的工作是?答案 定義一條本機指向所在網路閘道器的路由 答案 本機只需設定本地網路預設閘道器,至於到目的網路,是閘道器路由器的工作。3 下...
牛客網錯題集錦5
1.下列方法中那個是執行緒執行的方法?a run b start c sleep d suspend 答案 a。start是進入就緒狀態。suspend使執行緒掛起,要通過resume 方法使其重新啟動。public class demo2 public static void changed2 s...
牛客網錯題集錦7
1.建構函式不能被繼承,只能被顯式或隱式的呼叫 2.public class test public static void main string args static 答案 x 5 順序 父類靜態 塊 子類靜態 塊 父類普通 塊 父類構造方法 子類 塊 子類構造方法 3.public clas...