Java 多态(引用转型)
来源:互联网 发布:python画聚类图 编辑:程序博客网 时间:2024/06/06 08:43
基类的引用可以指向派生类的对象,如:
Person person = new Student();
这样的语句是合法的;
但是派生类的引用则不可以指向基类的对象,如:
Student st = new Person();
这样的语句将引发错误。
示例
class A { public String show(D obj){ return ("A and D"); } public String show(A obj)...{ return ("A and A"); } } class B extends A{ public String show(B obj)...{ return ("B and B"); } public String show(A obj)...{ return ("B and A"); } }class C extends B...{} class D extends B...{} 问题:以下输出结果是什么? A a1 = new A(); A a2 = new B(); B b = new B(); C c = new C(); D d = new D(); System.out.println(a1.show(b)); ① A and A System.out.println(a1.show(c)); ② A and A System.out.println(a1.show(d)); ③ A and D System.out.println(a2.show(b)); ⑤ B and A System.out.println(a2.show(c)); ⑤ B and A System.out.println(a2.show(d)); ⑥ A and D System.out.println(b.show(b)); ⑦ B and B System.out.println(b.show(c)); ⑧ B and B System.out.println(b.show(d)); ⑨ A and D
从上例中可以看出,父类的引用指向哪个类的实例就调用哪个类中的方法;
同样是使用父类的引用,调用同一个名称的方法,却可以得到不同的调用结果,这就是Java中的多态,即: 同一函数,多种形态;
0 0
- Java 多态(引用转型)
- java多态、动态绑定与静态绑定、向上转型、传值引用和传引引用
- java引用和向上转型的理解
- Java多态 向上转型 向下转型
- Java多态 向上转型 向下转型
- java多态-转型
- java -多态--向上转型
- Java多态 转型
- java对象转型(casting)-父类引用指向子类对象注意点
- (java)对象引用向上转型后,无法调用子类独有的方法和属性问题
- Java上转型转的是引用而不是对象
- java学习(9)java向上转型 向下转型
- JAVA多态 扩展性及 转型
- 浅谈Java 多态,向上转型
- 【转载】Java 多态、向上转型
- Java:多态 之 向上转型
- java向上转型(转)
- JAVA对象转型(一)
- 安卓再按一次退出
- Watermelon
- #策略分享#【008】年化收益18.469% 夏普比率1.2058
- 服务程序中创建带管理员权限的UI进程问题总结
- Python的可变与不可变数据类型
- Java 多态(引用转型)
- Java 代码性能优化
- 用ReetrantLock来分析java并发中不可错过的类AbstractQueuedSynchronizer
- android PackageInstaller那点事情
- python-logging
- 每日一个js实例7--通过面向对象实现选项卡
- 网络处理
- C++类成员变量初始化顺序问题
- oracle的日期函数