java基础--多态-域与静态方法1(java编程思想)
来源:互联网 发布:mac自带字典格式 编辑:程序博客网 时间:2024/06/05 17:06
看以下例子:
package extendsTest;/** * * @author xiaoyu * */class Super{public int field=0;public int getField(){return field;}}class Sub extends Super{public int field=1;public int getField(){return field;}public int getSuperField(){return super.field;}}public class TestExtendsField {public static void main(String args[]){Super super1=new Sub();System.out.println(super1.field+";"+super1.getField()+";");Sub sub=new Sub();System.out.println(sub.field+";"+sub.getField()+";"+sub.getSuperField());}}
输出结果:
0;1;
1;1;0
结果分析:当Sub转型为Super引用时,任何域访问操作都将由编译器解析,因此不再是多态的。本例中,
为Super.field和Sub.field分配了不同的存储空间。
这样,Sub实际上包含了两个field;它自己的和它从Super处得到的,然而在Sub中的field时所产生的默认域并非Super.field。
因此为了得到Super.field,必须显示的指明super.field.
- java基础--多态-域与静态方法1(java编程思想)
- 【Java编程思想第4版错误记录】Collections.addAll()静态方法与Collection.addAll()成员方法
- java基础编程思想题目
- Java基础静态方法
- java基础-静态方法
- 《读java编程思想》 c++与java的不同(C++基础)
- java基础--多态-域与静态方法2--类中各字段方法的加载顺序
- JAVA编程基础(三) 面向对象的编程思想与原则
- Java编程思想-接口与内隐类(1)
- 【Java编程思想】(1)初始化与清理
- Java编程思想之静态技术
- Java静态域与静态方法
- Java静态域与静态方法
- Java静态域与静态方法
- 黑马程序员---(学习日记-Java基础)静态方法与非静态方法
- 《JAVA编程思想读书笔记》--java基础
- Java编程思想--多态
- JAVA编程思想--多态
- 启用SQL Server 2005 Express的sa用户名
- Socket通信:实现PC端和Android端之间的相互通信(通过网络)
- 第39级阶梯
- 去除 QListWidget的selected item的长方形边框focus rectangle--委托
- maven在win7下的安装
- java基础--多态-域与静态方法1(java编程思想)
- https://tower.im
- 设计模式(c++)笔记之二十三(Interpreter模式)
- 贵州省林业厅到遵义县乐山省级花卉苗木示范园区调研
- 白炽灯雪上加霜 LED照明将独领风骚
- 视差滚动 Parallax Scrolling
- JSP隐式对象
- [转] 2013年:各大IT公司待遇(硕士)
- 求前k个大的数据