私はクラスAを持っています
public class A{
public void doWork(){
..............
.............
}
}
パブリック クラス B が A を拡張するようになりました
public class B extends A{
@override
public void doWork(){
............
............
}
}
ここで、Public クラス C が B のオブジェクトを作成し、それをクラス D のメソッドに渡します。
import xxx.xxx.B;
import xxx.xxx.D;
public class C{
B b= new B();
D d = new D();
d.method(b);
}
現在、クラス D は型 A の引数をそのメソッドに取り、それを操作します。
public class D{
public void method(A a){
..........
..........
}
}
実際には許可されていますが、なぜ許可されているのか理解できません。クラス D の method() は、タイプ A のオブジェクトを取る必要があります。助けてください。