JAVA基礎(四)面試題
阿新 • • 發佈:2018-04-19
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基礎(四)面試題