当前位置: 代码迷 >> Java相关 >> DONE通过super访问父类成员
  详细解决方案

DONE通过super访问父类成员

热度:424   发布时间:2007-09-30 21:36:04.0
DONE通过super访问父类成员

//通过super访问父类成员,为什么会出错 ?
public class Super {
int a=1;

public class subclass extends Super{
int a=6;
int b=super.a;
public void main(String[] args){
int a=6;
subclass p=new subclass();
System.out.println(a+"\n");
System.out.println(p.a);
System.out.println(p.b);

}
}

}

[此贴子已经被作者于2007-11-18 10:27:18编辑过]

搜索更多相关的解决方案: DONE  super  父类  成员  访问  

----------------解决方案--------------------------------------------------------
有super.a吗?
应该先实例一个对象,再调用。
----------------解决方案--------------------------------------------------------
回复:(zzxwill)通过super访问父类成员
你的main()的位置是错误的,应该放在subclass的外边,同时还应该为static的。
还有,静态方法是不能访问类的非静态成员的。这里的内部类是做为外部类的成员变量的。要想在main()中访问,需把内部类定义为static的。
class Super {
int a=1;
public static class SubClass extends Super{
int a=6;
int b=super.a;
}
public static void main(String[] args){
int a=6;
SubClass p=new SubClass();
System.out.println(a+"\n");
System.out.println(p.a);
System.out.println(p.b);
}
}
----------------解决方案--------------------------------------------------------
回复:(Lovedandan)回复:(zzxwill)通过super访问...

谢谢哦,运行一下吧,还是不对。
不过将Super类和其他分开是可以的。
???


----------------解决方案--------------------------------------------------------
回复:(heilong) 有super.a吗?应该先实例一个对象,...
访问父类中的变量a,(父类和子类中都有变量a)。
----------------解决方案--------------------------------------------------------
[CODE]

class Super {
int a=1;
public class SubClass extends Super{
int m=6;
int b=a;
}
public static void main(String[] args){
int a=6;
Super.SubClass p=new Super().new SubClass();
System.out.println(a+"\n");
System.out.println(p.m);
System.out.println(p.b);
}
}

[/CODE]

类部类的使用!
----------------解决方案--------------------------------------------------------

明白了!谢谢各位!呵呵~~


----------------解决方案--------------------------------------------------------
  相关解决方案