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多态之向下转型 往期回顾:我们学习了向上转型和动态绑定的概念,可以知道在继承关系中,将一个子类对象赋值给父类的引用变量,调用父 ...
随机推荐
- 嵌套div的margin-top不生效
之前遇到过嵌套div设置margin-top不生效的情况,一直没去研究,今天又遇到了,查阅资料得知原因,并不是margin-top没生效,只是当外层容器跟内层容器之间没有别的元素的时候,内层容器的ma ...
- 分层 DAO层,Service层,Controller层、View层
前部分摘录自:http://blog.csdn.net/zdwzzu2006/article/details/6053006 DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务 ...
- CPU缓存一致性协议与java中的volatile关键字
有关缓存一致性协议MESI自行百度. 提出问题:volatile在缓存一致性协议上又做了哪些事情?为啥它不保证原子性? 在缓存一致性协议下,CPU为了执行效率使用了写(存储)缓存和失效队列从而导致对用 ...
- Spring注解_详解
@Autowired 注释 将 @Autowired 注释标注在成员变量上 import org.springframework.beans.factory.annotation.Autowire ...
- Java学习--Jsp简介
- github flow
github flow Github flow 是Git flow的简化版,专门配合"持续发布".它是 Github.com 使用的工作流程 它只有一个长期分支,就是master, ...
- Java处理emoji
1.问题产生情况 我遇到这个问题是做微信开发的时候有些有用的头像用了微信的emoji表情,然而我的mysql数据库用的编码是utf8_general_ci,就是utf-8编码,结果也就报错误了. 2. ...
- Java基础之java的四大特性
上篇文章说了jdk的安装和java环境的配置,这篇文章主要说下java的特性. 首相说下,编程语言分为面向过程和面向对象,而java就是一种面向对象的编程语言. 什么是面向过程编程呢?就是一流程为单位 ...
- 多线程拷贝备份文件方法(Windows)
D:\bat\robocopy.exe D:\backupdata \\192.168.36.45\BData\ db_20170716.dmp 解释: 微软提供的robocopy.exe命令,默 ...
- python学习之老男孩python全栈第九期_day023知识点总结——类和对象命名空间、组合
一. 类和对象命名空间类里 可以定义两种属性: 1. 静态属性 2. 动态属性 class Course: language = 'Chinese' def __init__(self, teache ...