java继承问题
java继承问题为啥这个y值会变呀,不是应该一直20吗,调用了b.g不是一直等于21吗,为啥第二次调用结果是31,谢谢...
java继承问题为啥这个y值会变呀,不是应该一直20吗,调用了b.g不是一直等于21吗,为啥第二次调用结果是31,谢谢
展开
2个回答
展开全部
问题一:java继承问题为啥这个y值会变呀?
继承只是子类继承父类的属性与方法,而成员值的改变与否与继承无直接关系,需要看成员具体的声明属性。
问题二:y不是应该一直20吗?调用了b.g不是一直等于21吗,为啥第二次调用结果是31?
在本例中,b对象的y属性初值为20,依次调用了b.g()、b.f()和b.g(),每次都会对y属性进行赋值操作,具体操作如下:
初始化 x=10 y=20
b.g() y=y+1=21
b.f() y=y+x=21+10=31
b.g() y=y+1=32
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询