今天,我们讨论了Java中的Overriding and Shadowing,在其中一张幻灯片(我在下面附了它)中,我们被告知要密切关注最后3行,并确保我们理解正在发生的事情。我的理解是,由于b是从D对象显式地传递给B对象的,所以调用b.i将访问当前类的i成员字段,在这种情况下,该字段将是值为6的B类。但是当它必须调用被来自B的D覆盖的f()方法时,编译器决定调用D的f()方法的实现,因为对象最初是D对象(?)。我真的不确定我是否理解这件事,所以我会感
给定来自父类和子类的代码: class Parent{
System.out.println("ClassMethod-> Hello from parent, call classMethod
ClassMethod in Parent 所以父类的一个子对象调用一个实例方法,而实例方法又调用一个静态方法。如果hello()也是静态的,那么我可以理解为什么它会<em