java——多态
来源:互联网 发布:js 显示emoji表情代码 编辑:程序博客网 时间:2024/05/18 13:30
java中的多态体现在一个变量可以引用多个不同类对象,但前提是这些不同的类必须有相同的父类。从而该变量可以且只能调用每个不同对象之间的公共操作集(方法)。
在java中,父类变量可以引用子类对象,即Person p = new Chinese();
但是变量p只能调用共同的成员属性和方法。当子类中已经覆盖继承的方法时,父类的变量调用的将是子类中已重写(Overriding)的方法,重写Overriding是父类与子类之间多态性的一种表现。
代码:
public class Dog {private String getName(){return "Dog";}public String bark(){return "wang-wang";}public void call(){System.out.println("It's "+getName()+" "+bark());}}
public class MiniDog extends Dog{private String getName(){return "Mini";}public String bark(){return "woo-woo";}}
public class Test {public static void main(String args[]) {Dog d = new MiniDog();d.call();MiniDog md = new MiniDog();md.call();}}
=======================================================================================
运行结果是:
It's Dog woo-woo
It's Dog woo-woo
解释:
(1)d调用的是自己的call()方法和getName()方法,因为bark()被重写覆盖所以调用的是子类的。注意:getName()方法没有被重写,因为是父类私有的,对子类来说是不可见的,被隐藏起来。
(2)第二个名字还是Dog是因为子类没有实现call()方法,用的是父类的call(),在call()里调用的还是父类的getName()。
0 0
- Java——java多态
- Java——多态
- java——多态
- Java——多态
- java——多态
- Java——多态
- JAVA——多态
- Java——多态
- JAVA——多态
- java——多态
- 多态——Java
- Java基础知识—多态
- java读书笔记——多态
- JAVA多态——另解
- java基础——多态
- JavaSE——Java多态
- Java SE——多态
- JAVA学习——多态
- 爱立信软件+服务收入占67% CEO称转型到了关键点
- mysql创建单个和联合索引
- 常用intent列表 Android Intent 用法汇总
- PAT 1005. Spell It Right (20)
- A - 畅通工程(最小生成树)
- java——多态
- UML之部署图
- Kafka Producer同步模式发送message源码分析
- quick-cocos2d-x API 以及 参考手册
- python 科学计算学习一:numpy快速处理数据(1)
- 数字图像处理—图像分割—并行区域(阀值—单阀值、多阀值)
- 美国人的妈妈柴静
- 算法的时间复杂度和空间复杂度
- 2013年终总结--缅怀过去,展望未来