新手求教继承的问题.

zsmg888 2009-09-22 04:14:49
废话不说,大家看程序.
a1

public class a1{
public static void main(String[]args){
int a = 123;
}
}

a2

public class a2 extends a1{
public static void main(String[]args){
a2 t = new a2();
int b = 33;
int c = a+b;
System.out.println(c);
}
}


想请问下高手,既然我a2继承了a1,那么也就继承了a1里的int a =123;那为什么编译的时候显示找不到a变量呢?
我试验过,无论是a+b 还是 super.a+b都不行,这是为什么呢?
期待高手解答下困惑~~~~~~~
...全文
84 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsmg888 2009-09-22
  • 打赏
  • 举报
回复
我爱死你们了,感谢感谢~~~~~~~~~~~~~~~~~~
我想起来了,最近在学类和对象,知识点好多,感谢感谢~~~~~~~~~~~~~~~~~
luobeyond 2009-09-22
  • 打赏
  • 举报
回复
public static void main(String[]args){
int a = 123;
}
a是局部变量,在子类中无论如何也不能被子类调用的
public class a2 extends a1{
public static void main(String[]args){
a2 t = new a2();
int b = 33;
int c = a+b;
System.out.println(c);
}
}
在这个时候上面中a2的main方法覆盖了a1中的main方法。
swandragon 2009-09-22
  • 打赏
  • 举报
回复
int a = 123;
是局部变量
只在main方法中有效
qingkangxu 2009-09-22
  • 打赏
  • 举报
回复
int a = 123;不是a1的实例变量!!!!!!!!!!!

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧