class A{
int foot=4;
void m1(){
System.out.println("A`s m1");
}
void m2(){
System.out.println("A`s m2");
}
void m3(){
System.out.println("A`s m3");
}
}
class B extend A{
int foot=2;
void m1(){
System.out.println("B`s m1");
}
}
class C extend B{
void m3(){
System.out.println("C`s m3");
}
}
public class Lianxi10 {
public static void main(String[] args){
A aa=new C();
aa.m1();
aa.m2();
aa.m3();
System.out.println(aa.foot);
}
}我把你的代码复制到的环境中都无法执行,报错如下图所示:

因为你对象是A呀
我想知道你的是怎么执行成功的?按理说类型不匹配无法编译执行啊???我的就无法执行。
类型不匹配,不能从 C 转换为 A