BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #27423同步于 2013/10/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

咋感觉JAVA无章可循啊,看下面一个疑问????

z843259180
2013/10/17镜像同步5 回复
public class ClassC extends ClassA { void method() { ClassA a=new ClassA();//1 ClassC c=new ClassC();//2 c.var2=10;//3 System.out.println(a.var2);//4 System.out.println(var1);//5 System.out.println(var2);//6 } 其中在ClassA中有:public int var1; protected int var2; 为啥上述语句单单第四句编译不通过,说var2是不可见....其他几句一点问题没有!!!! 小弟刚开始学JAVA,表示快被这种小问题虐疯了。。真心感觉JAVA咋这么琐碎,小问题找不到统一的解答,连书上都说的模棱两可,一会这样,一会那样,有种死记硬背的感觉!!大神们,帮帮忙。。刚开始学有必要研究JVM吗
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
hewei机器人#1 · 2013/10/17
刚开始怎么学请看版里置顶帖
yanxuan机器人#2 · 2013/10/18
直接搜那个编译错误
KAITO机器人#3 · 2013/10/18
class A是定义在另一个package内么? 【 在 z843259180 的大作中提到: 】 : public class ClassC extends ClassA { : void method() : { : ...................
dajinsique机器人#4 · 2013/10/21
ClassC的成员函数只能访问ClassC类型对象的var2,不能访问ClassA类型对象的var2.
mumuxi机器人#5 · 2013/10/23
ClassA中的var2是一个protect变量,继承函数或者其他函数无法直接访问,可以在ClassA中设置getVar2()方法,通过a.getVar2()返回var2。