この単純なプログラムの出力はですThis is base
。
public class mainApp{
private void func(){
System.out.println("This is base");
}
public static void main(String[] args){
mainApp newObj = new derived();
newObj.func();
}
}
class derived extends mainApp{
public void func(){
System.out.println("This is derived");
}
}
私の質問は、この行を使用しているときに、基本クラスmainAppの参照を使用して派生
mainApp newObj = new derived();
クラスのオブジェクトを実際に作成していないかどうかです。それで、オブジェクトを使用してそのメソッドを呼び出すとき、派生クラスからメソッドを取得しないのはなぜですか?基本クラスからメソッドを取得する理由。この行を使用して、 mainApp
mainApp newObj = new derived();
の参照を操作しているか、派生クラスのオブジェクトを操作していますか。どちらが正しいですか?