看到有人發了一張面試的題目:
所以就想說順便複習基本概念,所以寫了解答:
Java新手面試題目答案
1-1.封裝(encapsulation):隱藏類別的實作細節,僅提供合法的interface給其他類別呼叫,例如常見的資料傳輸物件DTO(data transfer object)會把要傳送的資料封裝在物件裡面,要修改或取值必須要呼叫Setter或Getter。與此相關的存取修飾是public、protected與private。
1-2.繼承(inherit):為了簡化類別的設計,通常會把類似的幾個類別的共同的屬(field)及方法(method)抽取出來成為父類別(superclass),再把客製化的部分用變成子類別,兩者關係用子類別extends 父類別來連結。例如bird extends animal
1-3.多型(polymorphism):一旦有繼承關係。父類別可以當作子類別的型態。這樣日後要修改維護時,只需要修改父類別就好,而不需要動到不同的子類。例如bird extends animal,建立實例時會寫成bird birdA=new bird();多型的方式就會寫成animal birdA=new bird();
2.ClassPath:就是指定執行這個package的根目錄給JVM。如果要引用別的package,import X.XX.* 像這樣ClassPath+X.XX會等於package的絕對路徑。例如 import a.bc.* 而classPath= c:\\lib則package的路徑是c:\\lib\\a\\bc\\。
3-1.Loop迴圈
int sum=0;
for(int i=0;i<=100;i++)
{
sum += i++;
}
3-2.While迴圈
int sum = 0;
int i = 1;
while (i <= 100)
{
sum += i++;
}
3-3.Do-while 迴圈
int sum = 0;
int i = 1;
do
{
sum += i++;
} while (i <= 100);
4-1.
If-else
Switch
4-2.
If(age<20)
return “青少年”;
if(age<30&&age>20)
return “壯年”;
if(age<50&&age>30)
return “中年”;
if(age>50)
return “老年”;
5.Wrapper Class: 是將八大基本資料型類別的物件化,例如Integer a=new Integer(“12345”); 可以方便作資料型轉換。應用的話設計模式有: Adaptor和Decorator。
6.==是兩個參考指向同一物件返回true否則else。equals則是可以自訂相同的條件,如果沒有,則系統直接使用Object的equals。而Object的equals和==的比較方式相同。
近期迴響