以下では、2 つのクラスがあります。親と子。Child クラスは Parent クラスを継承しています。Parent クラスのコンストラクターでは、Parent クラスの print() メソッドを呼び出しています。
main() メソッドで子クラスのオブジェクトを作成すると、親クラスのコンストラクターが実行され、親クラスの print() メソッドの代わりに子クラスの print() メソッドが呼び出されます。
Q1. なぜこれが起こるのか。
Q2. i の値が 0 である理由
public class Sample
{
public static void main(String[] args)
{
Child objChild = new Child();
objChild.print();
}
}
class Parent
{
void print()
{
System.out.println("i Value");
}
Parent()
{
print();
}
}
class Child extends Parent
{
int i = 45;
void print()
{
System.out.println("i Value = "+i);
}
}
OP
i Value = 0
i Value = 45