牛客網錯題集錦6

2021-08-17 08:20:56 字數 1353 閱讀 2098

1.length是陣列長度

int a=;

int b=a.length;

length()是字串長度

string c="fasdfasdfla";

c.length();

size()是集合長度

2.靜態方法裡只能訪問本類方法中的靜態成員,不能直接訪問非靜態的屬性和方法。

這是因為靜態方法不依賴於物件,所以當類載入成功後,靜態方法就可以訪問了。而此時物件不一定存在,非靜態成員自然也不一定存在。靜態方法也不能出現this關鍵字,因為this是針對物件而言的。本類中的靜態方法可以訪問本類的靜態屬性,也可以呼叫靜態方法。

靜態資料成員的值是可以修改的。比如:

static int a = 1;

我可以繼續寫:

a = 2;

這樣沒有問題。只是靜態資料儲存的區域不同而已。

不可修改的是常量。

3.
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...