为了账号安全,请及时绑定邮箱和手机立即绑定

java内存问题、、、、、

java内存问题、、、、、

huucfjbcjf 2016-10-04 18:40:54
为什么父类成员变量中:int num = 10;子类成员变量中不能直接num = 100;继承里面说,会继承父类的所有非私成员
查看完整描述

2 回答

?
月落乌啼落日圆

TA贡献20条经验 获得超9个赞

子类是可以访问父类的非私有成员的,也可以对所继承的成员变量进行操作,但是像num = 100这样的执行语句是不能放在类中执行的,因为虚拟机无法得知该何时执行此语句,如果放到代码块,静态块,方法函数或者构造函数中就是正确的语句,也能正确的执行,你问的这个问题跟子类父类的没有关系.举个例子:

public class A {
	int num = 10;
	num = 100;
}

上面的代码在编译时会报错,而如果改成下面这样则可以正确运行,num=100会在类初始化时执行.

public class A {
    int num = 10;
    {
        num = 100;
    }
}
查看完整回答
反对 回复 2016-10-04
  • 2 回答
  • 1 关注
  • 1365 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信