int x
String s = "hello"
public void test(){
System.out.print("test")
}
public class Inner{
int s = 20
public void testInner(){
x = 0
test()
//如果外部类的成员变量和内部类变量重名,可以这样调用外部类的变量
Outer.this.s = "test"
//当然你可以new外部类对象 这也是没问题的
Outer o = new Outer()
o.x = 30
o.test()
}
}
}
第一个问题:D方法为包访问权限,同一个包内的其他类都可以访问,因为此处C类与超类D在同一个包,所以可以在main方法中实例化C后直接调用D方法。第二个问题:super用于在子类中调用父类被重写的方法,比如在C类中你重写了D方法,那么,在C中直接调用D方法,毋庸置疑,肯定是调用C中被重写的方法,但是如果用super.D()的话就可以调用到父类的方法了。