Java 继承与多态(二)
来源:互联网 发布:阿里云配置vpn 编辑:程序博客网 时间:2024/04/29 19:58
在写完第一篇还没有一会儿,我就开始写这第二篇了, 因为这片的内容与第一篇的内容有着一定的相似性,都是在向上转型以后回头调用子类的成员。还是直接上代码
package test;import edu.princeton.cs.algs4.StdOut;class A{ public static void f1(A a){ a.f2(); } public void f2(){ StdOut.println("This is A.f2"); }}class B extends A{ public void f2(){ StdOut.println("This is B.f2"); }}public class test_1 { public static void main(String[] args){ B b = new B(); A.f1(b); }}
以下是输出:`
This is B.f2
我的理解:
大家可以发现在第一篇里面通过向上转型后的子类对象通过父类方法无法操作子类的成员变量。这是上一篇的结果,因为才一会儿我还没有找到具体的解决办法。但是这个通过子类的向上转型,然后先调用父类方法f1(),f1()中调用子类重载的方法f2()。最终结果是成功的,正常的调用了重写的方法。说明在操作域上与数据域有着一定的差别。具体原理我也还没有搞的特别的清楚,希望后面能够继续深入这个问题。将多态与继承弄明白。
0 0
- Java 继承与多态(二)
- JAVA第十弹(继承与多态<二>)
- C++继承与多态(二)
- 深入Java 面向对象编程 (二)继承与多态
- Java入门(二)类与继承
- Java 入门 之 面向对象 封装、继承与多态(二)
- Java 继承与多态(一)
- C++编程笔记 二(继承与多态)
- 继承与多态(二):重写函数
- 【c++知识归纳】继承与多态(二)
- C++ 上机实验(二)【继承与多态】
- C#(二) -继承与多态
- java 继承与多态
- Java 继承与多态
- java 继承与多态
- Java继承与多态
- java继承与多态
- java继承与多态
- android studio设置
- BUYING FEED
- 【python】【leetcode】【算法题目383—Ransom Note】
- Mybatis-Mapper.xml输入输出映射
- 解决java compiler level does not match the version of the installed java project facet
- Java 继承与多态(二)
- 折半查找
- 《视频直播技术详解》系列之六:延迟优化
- malloc,ralloc,calloc
- 求一个数的立方根
- 程序编译与链接,以及预定义符号,
- okhttp网络请求的简单示例
- unity-菜单MenuItem的使用
- java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal问题解决