JAVA 接口 Interface 学习笔记 implements
来源:互联网 发布:网络采购的优点有 编辑:程序博客网 时间:2024/06/05 20:37
接口
接口特性
接口不可以被实例化
实现类必须实现接口的所有方法,否则实现类必须是抽象类
实现类可以实现多个接口,来弥补Java不能多继承
接口中的变量都是静态常量
public interface DemoInterface {
public void demo();
//其他方法
//所有方法都是抽象的
小结:接口的优点
可以被多继承
设计和实现完全分离
更自然的使用多态
更容易搭建程序框架
更容易更换实现
接口特性
接口不可以被实例化
实现类必须实现接口的所有方法,否则实现类必须是抽象类
实现类可以实现多个接口,来弥补Java不能多继承
接口中的变量都是静态常量
public interface DemoInterface {
public void demo();
//其他方法
//所有方法都是抽象的
}
如何使用接口
小结:接口的优点
可以被多继承
设计和实现完全分离
更自然的使用多态
更容易搭建程序框架
更容易更换实现
补充:常量
接口实例
业务员懂业务 程序员懂程序 工程师懂业务工程师懂程序
简单 继承+接口
模拟打印机案例
墨盒:彩色、黑白
纸张类型:A4、B5
墨盒和纸张都不是打印机厂商提供的
打印机的打印功能需要使用兼容市场上的墨盒、纸张
package com.jerehedu.print;public interface InkBox {void ink();}
package com.jerehedu.print;public interface PaperBox {void paper();}
package com.jerehedu.print;public interface PrintBox {void print(InkBox ink,PaperBox paper);}
package com.jerehedu.print;public class ColorInkBox implements InkBox {@Overridepublic void ink() {// TODO Auto-generated method stubSystem.out.println("组装彩色墨盒");}}
package com.jerehedu.print;public class BlackInkBox implements InkBox {@Overridepublic void ink() {// TODO Auto-generated method stubSystem.out.println("组装黑白墨盒");}}
package com.jerehedu.print;public class A4PaperBox implements PaperBox {@Overridepublic void paper() {// TODO Auto-generated method stubSystem.out.println("放置A4纸");}}
package com.jerehedu.print;public class B5PaperBox implements PaperBox {@Overridepublic void paper() {// TODO Auto-generated method stubSystem.out.println("放置B5纸");}}
package com.jerehedu.print;public class HupuPrintBox implements PrintBox {private InkBox ink;private PaperBox paper;public InkBox getInk() {return ink;}public void setInk(InkBox ink) {this.ink = ink;}public PaperBox getPaper() {return paper;}public void setPaper(PaperBox paper) {this.paper = paper;}@Overridepublic void print(InkBox ink, PaperBox paper) {// TODO Auto-generated method stubsetInk(ink);ink.ink();setPaper(paper);paper.paper();System.out.println("惠普打印机开始工作了");}}
package com.jerehedu.print;public class OtherPrintBox implements PrintBox {private InkBox ink;private PaperBox paper;public InkBox getInk() {return ink;}public void setInk(InkBox ink) {this.ink = ink;}public PaperBox getPaper() {return paper;}public void setPaper(PaperBox paper) {this.paper = paper;}@Overridepublic void print(InkBox ink, PaperBox paper) {// TODO Auto-generated method stubsetInk(ink);this.ink.ink();setPaper(paper);this.paper.paper();System.out.println("其他牌子的打印机开始工作了");}}
package com.jerehedu.print;public class Test {public static void main(String[] args) {// TODO Auto-generated method stub//组装一个惠普彩色a4打印机ColorInkBox colorbox=new ColorInkBox();A4PaperBox a4box=new A4PaperBox();HupuPrintBox hupu=new HupuPrintBox();hupu.print(colorbox, a4box);//组装一个其他牌子的黑白b5打印机BlackInkBox blackbox=new BlackInkBox();B5PaperBox b5box=new B5PaperBox();OtherPrintBox other=new OtherPrintBox();other.print(blackbox, b5box);}}
作者:冲天之峰 20160530
3 0
- JAVA 接口 Interface 学习笔记 implements
- JAVA 接口 Interface 学习笔记 implements
- java--接口(interface\implements)
- Java 学习笔记 (3) -抽象类 abstract 接口 interface 内部类 inner class 继承 extends 实现 implements 包 package
- JAVA接口(Interface)学习笔记
- 接口 interface implements
- java入门学习(11)—接口定义(interface)及使用(implements)
- Java学习笔记之接口Interface
- php 接口类(interface,implements)的学习和使用
- Java中接口interface和实现implements问题
- Java面向对象高级--接口的基本概念--------interface、implements
- [原]Java思想之容器implements与接口interface
- Implements interface using java swing.
- j2se学习笔记-interface接口
- Java 接口implements初探
- 匿名内部类implements(实现)interface(接口)
- java学习笔记-抽象类abstract与接口interface
- #笔记#圣思园 JavaSE 第22讲——多态,接口interface |implements|| static | final
- Android fiddler网络抓包
- Oracle基础学习笔记(三)
- 前端js积累
- 图说C++对象模型:对象内存布局详解
- 309. Best Time to Buy and Sell Stock with Cooldown【M】【56】
- JAVA 接口 Interface 学习笔记 implements
- VS下 dllimport与dllexport作用与区别
- JSPatch技术文档
- 2016年 团体程序设计天梯赛 - 模拟赛
- 设计模式笔记-Template模式
- input 正则控制输入
- 杨绛与钱钟书,人世间最理想的婚姻
- Yii框架记录
- CSS背景图拉伸自适应尺寸,全浏览器兼容