-3
爲什麼這是有效的? 在創建對象的同一行中調用方法,而不是單獨創建引用該對象的引用變量來調用該方法。在創建對象的同一行中調用方法,而不是創建引用要調用的對象的引用變量
class A {
public void show() {
System.out.println("Hello Everyone");
}
}
class B {
public static void main(String args[]) {
new A().show();/* at this point how does compiler know which show() method
to run as I have not created any reference variable
pointing to the object of class A, it could have run
class B's show() or simply have given an error */
}
public void show() {
System.out.println("Hello Everyone, this is java");
}
}
請幫我參加決賽。
當您調用new時,您確實創建了類A的實例。你調用了它的show()方法。我不知道你在想什麼。有一種繼承思想,但沒有延伸。 – duffymo
@ duffymo-我想問的是對象是在運行時創建的,因此方法在運行時被動態地調用,但由於我沒有類型A的引用,那麼編譯器如何確定我的方法調用是正確的? ?請澄清 - @ duffymo –
當您發現自己陷入洞中時,請停止挖掘。當您撥打新電話時,您確實有A的實例。你調用它的show()方法。沒有參考指向該實例,因此當該方法退出時它超出範圍。你的方法是正確的;你對Java的理解不是。 – duffymo