標籤:Java基礎 Java程式員面試
面試題:
- 構造代碼塊,構造方法,靜態代碼的優先順序?
- 靜態代碼塊>構造代碼塊>構造方法
面試題: overload和override的區別?
overload:方法重載
方法名一樣,參數不同,和傳回值沒有關係
參數不同:
1)參數個數不同
2)參數類型不同
override:方法重寫 (子類定義一個和父類一摸一樣的方法聲明)
繼續中使用到的
2 關於this和super的區別?
this:代表當前類的對象
super:代表父類空間標識,理解為代表父類的對象
應用情境: this: super: 成員變數 this.成員變數 super.成員變數 成員方法 this.成員方法() super.成員方法(); 構造方法 this()/this("..") 面試題:
- 局部內部類訪問局部變數,那麼會出現問題?(jdk7以前包括jdk7,這個有問題的)
- 會報錯,需要給局部變數添加final修飾...
- 為什麼這個局部變數必須用final修飾?
應為局部變數在內部類中還要被使用,將變數變成固定值,在記憶體中始終存在,通過main方法中調用內部類中的成員。
匿名內部類面試題:
按照要求,補齊代碼
interface Inter { void show(); }
class Outer { //補齊代碼 }
class OuterDemo {
public static void main(String[] args) {
Outer.method().show();
}
}
要求在控制台輸出”HelloWorld”
*/
interface Inter3{
void show() ;//public abstract
}
class Outer7{
//補齊代碼
public static Inter3 method() {
//返回的是介面:當前並不提供介面的子實作類別,所以只能用匿名內部類return new Inter3() { public void show() { System.out.println("helloworld"); }};
}
}
//測試類別
public class Test {
public static void main(String[] args) {
Outer7.method().show();
}
}
JAVA基礎(四)面試題