多态的使用

class A1{public void tell1(){System.out.println("A1 -- tell1");}
}class B1 extends A1{public void tell1(){System.out.println("B1 -- tell2");}
}class C1 extends A1{public void tell1(){System.out.println("C1 -- tell3");}
}public class PolDemo02 {public static void main(String[] args) {say(new B1());say(new C1());}public static void say(A1 a){a.tell1();}
}

运行结果:

B1 -- tell2
C1 -- tell3

代码分析:

在类PolDemo02中,main()方法传递给say()方法:new B1()和new C1()。我们可以这样看:A1 a = new B1(),A1 a = new C1(),声明部分为父类,赋值部分为子类的这个对象a,在调用重写方法时,是调用的子类的方法。另外,a对象不存在子类的其它方法。

多态产生必须有以下条件:
1.必须有继承。

2.必须有方法重写。

3.必须是父类声明,实际是子类对象。(父类声明,子类实例化)

转载于:https://www.cnblogs.com/Timenow/p/6847102.html

java 笔记(3)多态 容易理解相关推荐

  1. Java 面向对象:多态的理解

    Java 面向对象:多态的理解 一.多态的定义 一个对象的实际类型是确定的,但可以指向引用对象的类型可以有很多(父类,有关系的类) 操作符的多态 +可以作为算数运算,也可以作为字符串连接 类的多态 父 ...

  2. java封装继承多态的理解_深入理解Java封装、继承、多态

    一:封装 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问,常见的实现方式就是:getter.setter. 封装遵循了"开闭原则&qu ...

  3. Java中关于多态的理解

    Java中多态的理解 JAVA中的多态可以简单的理解为一种事物的多种形态,当然多态是在继承的基础上有重写才存在.(因为这篇文章是转载过来的,大部分地方持支持的态度,但也有一些地方存在个人态度,比如这里 ...

  4. java封装继承多态的理解_用最傻瓜式的方法理解Java中的封装、继承和多态

    说到java中面向对象的封装.继承和多态,很多人会说这么简单这么入门的东西一直讲干嘛,虽然是基础,但是我们要明白,所有东西都是要在基础上发展的,没有基础就去学其他的,那么你肯定是很容易失败的,那么应该 ...

  5. java 中对多态的理解

    面向对象的三大特性:  封装  .继承.多态.其中多态算是比较重要的一部分,集合框架相关源码中大量应用其三大特性,所以说了解这三大特性,尤其是多态后,让你阅读源码的内功会更上一层楼. 了解多态之前必须 ...

  6. Java笔记-对CountDownLatch的理解(对比Qt中的QSemaphore)含实例

    首先在CountDownLatch,这个东西基本上和信号量是一样的,这个CountDownLatch要设置一个初值,这个值一般是个正值,可以对这个CountDownLatch进行countDown() ...

  7. Java面向对象设计多态特征理解

    a.多态:具有表现多种形态的能力的特征,具有多种实现方式 b.多态的要求: 1.必须有继承 2.要有方法重写 3.父类引用指向子类对象 c.多态的优点:简化代码,去掉繁琐 d.演示代码: packag ...

  8. Java中的多态如何理解——详解

    概念

  9. java多态的理解(java多态的理解和使用 - 阿猫阿狗)

    谈谈你对Java中的多态的理解.(为什么要使用多态,有什么好处,一般用在什么场合) 面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同 ...

  10. Java中 多态的理解

    ** Java中 多态的理解 ** 多态官方定义为: 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指 ...

最新文章

  1. Win8开发中如何加载字符串资源(C#)
  2. JSON数据解析及gson.jar包
  3. Promise深度学习---我のPromise/A+实现
  4. Python中的高阶函数reduce
  5. log4j无法打印日志的问题
  6. sql 时间 没有日期_SQL-补充:日期和时间戳互转
  7. Linq to Entity中连接两个数据库时要注意的问题
  8. 哎呀你不要把他叫出来_不吼不叫,学会这3个亲子互动方法,孩子不专注都难...
  9. iOS开发-获取View截图图像
  10. EBS INV:物料搬运单
  11. 纺织ERP系统_纺织ERP软件_纺织面料系统
  12. 大数据未来发展的七大趋势
  13. 算法初体验之欧几里得算法
  14. symbian与uiq开发教程[完整版]
  15. 三线和BGP服务器的区别
  16. html中的 脚本制作教程,html5教程制作简单画板代码分享
  17. 第十二章: 项目采购管理
  18. 利用raphael画图
  19. 关于简单的shellcode的学习
  20. 电商:大众市场与细分市场

热门文章

  1. Nilearn教程系列(2)-3D和4D niimgs:处理和可视化
  2. Python-EEG工具库MNE-Python详细安装与使用
  3. 《Eve: Valkyrie Warzone》发布,非VR玩家也能公平开战
  4. 阿里达摩院百万大奖评选开启!这次人人都能给青年科学家当伯乐
  5. 上汽接入Momenta飞轮,成为中国第一个落地RoboTaxi的车企
  6. 扫地机器人能有多硬核?好家伙自动驾驶、激光扫描、NLP这些硬科技全上了,科沃斯:技术创新才能打破行业内卷...
  7. 杜甫在线演唱《奇迹再现》、兵马俑都能开口说话……微博网友用AI技术分分钟打破次元壁...
  8. 2019中国独角兽新增数锐减62%,仅有22家;美国新增78家,占全球大半
  9. 2、Ktor学习-自动重新加载;
  10. Python每日一练0004