你好,親愛的爪哇人。當然,每個受訪的人都被問到有關多態性的問題。所以,我對你的回答以及面試官對你的回答的評價很感興趣。我進行了兩次小型面試,他們詢問了多態性,每次面試官都對我的回答不滿意。簡而言之,我的答案歸結為覆蓋父類別的引用並將其分配給子類別的物件。像這樣的東西:
class Parent{
void saySomething(){
System.out.println("Parent!");
}
}
class Child1 extends Parent{
@Override
void saySomething(){
System.out.println("Child1!");
}
}
class Child2 extends Parent{
@Override
void saySomething(){
System.out.println("Child2!");
}
}
class Test{
public static void main(String[] args){
Parent p1 = new Parent();
Parent p2 = new Child1();
Parent p3 = new Child2();
p1.saySomething();
p2.saySomething();
p3.saySomething();
}
}
---------------
Output:
Parent!
Child1!
Child2!
這正是Oracle網站 上寫的。Ivan Golovach說,Java 中的多態性是透過繼承(我在範例中展示的)和泛型來實現的。那麼,面試時真相到底在哪裡,又該如何回答呢?我即將進行一次重要的採訪,我不想在這個看似基本的問題上再次搞砸。
GO TO FULL VERSION