现在感觉敲着敲着代码忽然就会发现不明白的地方了
class Fu
{
int num=4;
}
class Zi extends Fu
{
int num=5;
}
class ExtendDemo
{
public static void main(String[] args)
{
Zi z=new Zi();
System.out.println(super.num);
}
}
编译后
ExtendDemo.java:38: 错误: 无法从静态上下文中引用非静态 变量 super
System.out.println(this.num);
^
ExtendDemo.java:38: 错误: 找不到符号
System.out.println(this.num);
^
super换this也一样,改成z就好,这是为什么呢用super和this替代和本身的对象名有什么区别呢,还有num是非静态成员变量,怎么静态的主函数依然可以使用呢 |