关于java多态
来源:互联网 发布:linux 密码策略 编辑:程序博客网 时间:2024/05/16 10:07
最近重温Java编程思想,看到一段代码,运行后的结果有点疑惑,贴出来让大家给分析一下:
有一个Super类,如下:
package com.test2;public class Super {public int field = 0;public int getField() {return field;}}
一个导出类,继承自Super.java,如下:
package com.test2;public class Sub extends Super {public int field = 1;public int getField(){return field;}public int getSuperField(){return super.field;}}
一个主方法,代码如下:
package com.test2;public class FieldAccess {/** * @param args */public static void main(String[] args) {Super sup = new Sub();System.out.println("sup.field:" + sup.field + " sup.getField():"+ sup.getField());Sub sub = new Sub();System.out.println("sub.field:" + sub.field + ", sub.getField()"+ sub.getField() + ", sub.getSuperField()"+ sub.getSuperField());}}
运行的结果:
sup.field:0, sup.getField():1sub.field:1, sub.getField():1, sub.getSuperField():0
主要的疑惑就在结果的第1行,为什么sup.field取得的是父类的值(0),
而sup.getField()却调的是子类的方法(返回的结果为1)?
求解?
- 关于java多态
- 关于 Java 多态
- 关于Java多态
- 关于JAVA
- 关于Java
- 关于java
- 关于Java
- 关于java
- 关于JAVA
- 关于Java
- 关于JAVA
- 关于java
- 关于java
- 关于java
- 关于JAVA
- 关于java
- 关于java
- 关于Java
- 算法导论学习开篇
- OpenTSDB监控系统的研究和介绍
- C/C++的64位整型
- Let it Bead
- php中func_num_args(),func_get_arg(),func_get_args()的区别
- 关于java多态
- 【§龙腾世纪游戏主题(oo)】
- 局域网监听的原理与实现
- 现代信息检索2-----布尔检索(Boolean Retrieval)
- 进程间通信 ——管道
- How to start a new process for Android?
- ClickOnce部署(4):下载多个安装包
- SpecDD系列:6个确保您执行“充分”QA测试的技巧
- Android控件TextView的实现原理分析