java接口实例
1.开发系统时,主体架构使用接口,接口构成系统的骨架
2.这样就可以通过更换接口的实现类来更换系统的实现
public class printerDemo{
public static void main(String[] args) {
ColorPrinter cp = new ColorPrinter("惠普");
BlackPrinter bp = new BlackPrinter("联想");
Teacher teacher = new Teacher("张三",26);
School school = new School(); school.setPrinter(cp);
school.setPrinter(bp); school.print(school);
school.print(teacher); bp.print("abc");
cp.print("abc");
}
} class School implements IInfo{
private Printer p = null;
public void setPrinter(Printer p) {
this.p = p;
} public void print(IInfo info) {
p.print(info.detail());
} public String detail() {
return "我是学校";
}
} interface IInfo{//接口,教师和学校都有的方法
String detail();
} abstract class Printer{
private String brand;
public String getBrand() {
return brand;
}
public Printer(String brand) {//构造方法
this.brand = brand;
} public abstract void print(String 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);
}
} class Teacher implements IInfo{
private String name;
private int age; public Teacher(String name,int age) {
this.name = name;
this.age = age;
} public String detail() {
return "我的名字叫"+name+",年龄是"+age;
}
}
java接口实例的更多相关文章
- 规则引擎集成接口(八)Java接口实例
接口实例 右键点击“对象库” —“添加接口实例”,如下图: 弹出如下窗体: 输入接口的参数信息: 点击接口“求和”,选择选项卡“求和操作”,点击添加图标 ,如下: 弹出如下窗体,勾选方法“coun ...
- java接口
一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为( ...
- JAVA RMI 实例
下面我将介绍一个完整的实例,让初学者能快速体验RMI的功用. 分为以下四个步骤 1. 创建远程接口及声明远程方法(HelloInterface.java)2. 实现远程接口及远程方法(继承Unicas ...
- python面向对象进阶 反射 单例模式 以及python实现类似java接口功能
本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 类的成员 类的成员可以分为三大类:字段.方法和特性. 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存 ...
- 初探设计:Java接口和抽象类何时用?怎么用?
今天犯了个错: “接口变动,伤筋动骨,除非你确定只有你一个人在用”.哪怕只是throw了一个新的Exception.哈哈,这是我犯的错误. 一.接口和抽象类 类,即一个对象. 先抽象类,就是抽象出类的 ...
- java接口与抽象类的区别
接口可以是标志接口,里面没有任何常量和方法. 抽象类不一定必须有抽象方法,也可也没有方法,但含抽象方法的类必须被声明为抽象类. 在抽象层次结构中,Java接口在最上面,然后紧跟着抽象类,然后是一般类. ...
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6642463 在前面几篇文章中,我们详细介绍了A ...
- Java 接口和抽象类差别
原文:http://blog.csdn.net/sunboard/article/details/3831823 1.概述 一个软件设计的好坏,我想非常大程度上取决于它的总体架构,而这个总体架构事实上 ...
- Java多线程-实例解析
Java多线程实例 3种实现方法Java中的多线程有三种实现方式:1.继承Thread类,重写run方法.Thread本质上也是一个实现了Runnable的实例,他代表一个线程的实例,并且启动线程的唯 ...
随机推荐
- Datenbanksystem
1.Einführung 1.1 Die Einführung des Datenbanksystem Das Begriff Daten:Sie verwendet als Beschreibung ...
- 【Echo】实验 -- 实现 C/C++下TCP, 服务器/客户端 通讯
本次实验利用TCP/IP, 语言环境为 C/C++ 利用套接字Socket编程,实现Server/CLient 之间简单的通讯. 结果应为类似所示: 下面贴上代码(参考参考...) Server 部分 ...
- i.mx6 Android5.1.1 初始化流程之init进程(未完成)
概述: 接在i.mx6 Android5.1.1 初始化流程之框架之后 参考资料:http://blog.csdn.net/mr_raptor/article/category/799879 相关源码 ...
- Spring.Net---1、IOC第一个实例
Spring.NET IoC容器的用法. 通过简单的例子学习Spring.Net 1.先创建一个控制台程序项目. 2.添加IUserInfoDal 接口. namespace Spring.Net { ...
- 第6天:数据Array
数组Array every() 方法测试数组的所有元素是否都通过了指定函数的测试. array.every callback[, thisArg] callback 被调用时传入三个参数:元素值,元素 ...
- Xss和Csrf介绍
Xss和Csrf介绍 Xss Xss(跨站脚本攻击),全称Cross Site Scripting,恶意攻击者向web页面中植入恶意js代码,当用户浏览到该页时,植入的代码被执行,达到恶意攻击用户的目 ...
- Cheatsheet: 2017 10.01 ~ 12.31
Mobile Updating Your App for iOS 11 Get Started With Natural Language Processing in iOS 11 Getting S ...
- Spring------约束导入和application.xml的引入方式
1.spring约束的导入 2.SSH常用约束 3.application.xml的引入方式 <1.通过ClassPathXmlApplicationContext引入配置文件applicati ...
- springboot在阿里CentOS 7后台永久运行
查看Java进程可以使用 ps -ef|grep java 首次后台永久启动,会把日志输出到新建的log.file文件 nohup java -jar demo-0.0.1-SNAPSHOT.jar ...
- shell文本操作
一.find查找命令的使用 1.find . -name "*.txt" 在当前目录下,查找以txt结尾的文件 2.find . -name "[a-z]" 在 ...