java多态实例
学校有两个打印机,一个彩印,一个黑白印,都打印输出
public class printerDemo {
public static void main(String[] args) {
colorPrinter cp = new colorPrinter("惠普");
blackPrinter bp = new blackPrinter("联想");
school sch = new school();
sch.setColorPrinter(cp);
sch.setBlacPkrinter(bp);
cp.print("hello");
bp.print("hello");
}
}
class printer{
private String brand;
public String getBrand() {
return brand;
}
public printer(String brand){
this.brand = brand;
}
public void print(String content) {//需要重写
System.out.println(brand);
}
}
class school{
private colorPrinter cp = null;
private blackPrinter bp = null;
public void setColorPrinter(colorPrinter cp) {//安装彩色打印机
this.cp = cp;
}
public void setBlacPkrinter(blackPrinter bp) {//安装黑白打印机
this.bp = bp;
}
public void print(String content) {
cp.print(content);
bp.print(content);
}
}
class colorPrinter extends printer{
public colorPrinter(String brand){
super(brand);
}
public void print(String content) {//子类重写父类方法
System.out.println(getBrand()+"彩色打印:"+content);
}
}
class blackPrinter extends printer{
public blackPrinter(String brand){
super(brand);
}
public void print(String content) {//子类重写父类方法
System.out.println(getBrand()+"黑白打印:"+content);
}
}
java多态实例的更多相关文章
- Java 多态——与C++的比较
学习了Java和C++之后,由于长期不使用C++,而java的基础知识掌握不牢,现在已经搞不清java多态了.现在先来谈谈java多态,稍后有时间再更新C++的多态,并进行比较~ 一. Java的多态 ...
- C++和java多态的区别
C++和java多态的区别 分类: Java2015-06-04 21:38 2人阅读 评论(0) 收藏 举报 转载自:http://www.cnblogs.com/plmnko/archive ...
- 深入理解Java多态机制
从字节码层面来看,Java中的所有方法调用,最终无外乎转换为如下几条调用指令. invokestatic: 调用静态方法. invokespecial: 调用实例构造器<init>方法,私 ...
- 从JVM角度看Java多态
首先,明确一下,Java多态的三个必要条件: 1. 继承 2. 子类重写父类方法 3. 父类引用指向子类对象 然后看一个例子 package test.xing; class Father{ prot ...
- Java - 22 Java 多态
Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力. 多态性是对象多种表现形式的体现. 比如我们说"宠物"这个对象,它就有很多不同的表达或实现,比如有小猫.小狗.蜥蜴 ...
- Java多态 父类引用指向子类对象
Java多态的三个必要条件: 1. 继承 2. 子类重写父类方法 3. 父类引用指向子类对象 然后看一个例子 输出结果为: 给出结论:Father c = new Child() 在c的 ...
- Java-Runoob-面向对象:Java 多态
ylbtech-Java-Runoob-面向对象:Java 多态 1.返回顶部 1. Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操 ...
- 从虚拟机角度看Java多态->(重写override)的实现原理
工具与环境:Windows 7 x64企业版Cygwin x64jdk1.8.0_162 openjdk-8u40-src-b25-10_feb_2015Vs2010 professional 0x0 ...
- Java多态之向下转型
目录 Java多态之向下转型 强制类型转换 instanceof Java多态之向下转型 往期回顾:我们学习了向上转型和动态绑定的概念,可以知道在继承关系中,将一个子类对象赋值给父类的引用变量,调用父 ...
随机推荐
- python爬虫实战(八)--------知乎
相关代码已经修改调试成功----2017-4-22 一.说明 1.目标网址:知乎登入后的首页 2.实现:如图字段的爬取 zhihu_question表: zhihu_answer表: 3.数据:存放在 ...
- HTML基础-常用标签及图片
标记/标签{元素} 双标签: <标签>内容</标签> <html></html> 网页 页面的根元素 <head></head& ...
- C# 程序执行时间差
有时需要知道执行一个方法需要多少时间,这时会用到一个时间差TimeSpan DateTime startTime = DateTime.Now;//方法开始时间 //{ // 你需要测试的代码. // ...
- 初识JSP,第一天
1.什么JSP java Server Page java 服务端的页面,它和servlet 一样可以提供动态的html 响应. 不同的是 servlet 以 java 代码 为主 jsp 以html ...
- 十一、curator recipes之联锁InterProcessMultiLock
简介 curator实现了一个类似容器的锁InterProcessMultiLock,它可以把多个锁包含起来像一个锁一样进行操作,简单来说就是对多个锁进行一组操作.当acquire的时候就获得多个锁资 ...
- php index.php修改之后未生效
php index.php修改之后未生效 PHP项目修改了index.php 里面的代码,提交服务器之后,代码功能未生效, 解决办法:重启fpm 命令如下: /etc/init.d/php5-fpm ...
- sublime 在Mac终端下设置快捷打开方式
vi ~/.zshrc alias subl='open -a "Sublime Text"' source ~/.zshrc 打开 ~/.zshrc,然后写入第二行,然后执行第三 ...
- Java 集合:List(ArrayList,LinkedList)
- css 样式加载次序
一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权(本人理解为:先加载1的样式,然后用2的样式覆盖1中的样式,3.4同理) 浏览器缺省设置(浏览器默认的样式 ...
- html和css入门 (二)
CSS基础 什么是CSS 简单来说,层叠样式表(Cascading Style Sheet)是一种专门用来控制界面外观风格的文档. CSS发展历史 1996年 CSS 1.0 规范面世,其中加入了字体 ...