成员变量是属于声明的对象还是实际对象
2017-07-26 12:26 tlnshuju 阅读(324) 评论(0) 收藏 举报例如以下一道面试题:
package com.evan;
public class ChildClass extends ParentClass {
public int i = 30;
public static void main(String[] args) {
ParentClass pc = new ChildClass();
ChildClass cc = new ChildClass();
System.out.print(pc.i + cc.i);
}
}
class ParentClass {
public int i = 10;
}
输出是20。40。60哪一个呢?结果是:40
我们都知道对于继承的话都是父类引用指向子类对象。调用方法时是动态调用子类的方法。假设实现了重写。
但是对于属性不是。你声明是什么对象,属性就是归属于声明的对象,而遇实际对象无关。这个在项目中须要注意,也就是说类的属性不存在重写。
浙公网安备 33010602011771号