子类覆盖父类的成员变量
2016-03-22 12:04
260 查看
class A { int a = 100; void f() { System.out.println(a); } } class B extends A { int a = 9999; void f() { System.out.println(a); System.out.println(this.a); System.out.println(super.a); } } public class TestClient { private static Context context; public static void main(String[] args) { A a = new B(); System.out.println(a.a); a.f(); System.out.println("======================"); B b = new B(); b.f(); System.out.println("======================="); ((A) a).f(); } }
100 9999 9999 100 ====================== 9999 9999 100 ======================= 9999 9999 100
总结:子类覆盖父类的方法时,直接调用成员变量,其实是:this.成员变量。(应该是编译器自己加上的吧?)
如果要调用父类的变量,就得super.成员变量。
相关文章推荐
- jsp页面报错,无法定位问题
- Python 进阶——标准散列机制
- linux下的find文件查找命令与grep文件内容查找命令
- TortoiseSvn的安装过程详解
- 蓝桥杯 基础练习 01字串
- 详述JavaScript实现继承的几种方式(推荐)
- jquery阻止事件冒泡 点击
- 5.ARM体系结构要点总结
- 第十八讲--检查点队列(checkpoint queue)
- C++单向链表反转
- 当前JS文件中加入其他js文件
- Java数据库——JDBC 2.0操作
- 蓝桥杯 基础练习 闰年判断
- UVA 494 Kindergarten Counting Game
- 关于自定义tabbar修改字体颜色及图标选中颜色等方法的总结
- 图解Fiddler如何抓手机APP数据包
- matplotlib使用
- Django--form保存用户输入内容
- lintcode-medium-Gray Code
- 新手做LeetCode 2 Add Two Numbers