Java之接口及其作用
来源:互联网 发布:对冲书籍 知乎 编辑:程序博客网 时间:2024/06/05 17:01
package 接口;
/*接口的基础语法
* 接口也是一种引用类型,可以等同看做类。
* 1.如何定义接口,语法:
* 【修饰符】interface接口名{}
* 2.接口中只能出现:常量,抽象方法
* 3.接口其实是一个特殊的抽象类,特殊在接口是完全抽象的。
* 4.接口中没有构造方法,无法被实例化。
* 5.接口与接口之间可以多继承。
* 6.一个类可以实现多个接口。(这里的“实现”可以等同看做“继承”)
* 7.一个非抽象的类实现接口,需要将接口中所描述的方法“实现/重写/覆盖”。
*
*/
public interface A{
//常量(必须使用public static final修饰)
public static final String SUCCESS = “success”;
public static final double PI = 3.14;
//public static final是可以省略的。
byte MAX_VALUE = 127;//常量
//抽象方法(接口中所有的抽象方法都是public abstract)
public abstract void m1();
//public abstract是可以省略的。
void m2();
}
interface B{
void m1();
}
interface C{
void m2();
}
interface D{
void m3();
}
interface E extends B,C,D{
void m4();
}
//implements是实现的意思是一个关键字,
//implements和extends意义相同。
class MyClass implements B,C{
public void m1(){};
public void m2(){};
}
class F implements E{
public void m1(){};
public void m2(){};
public void m3(){};
public void m4(){};
}
package 接口;
/*
* 客户业务部接口
* 接口的作用
* 1.可以使项目分层,所有层都面向接口开发,开发效率提高了。
* 2.接口使代码和代码之间的耦合度降低,就像内存条和主板的关系,‘变的‘可插拔’’。
*接口和抽象类都能完成某个功能,优先选择接口。
*因为接口可以多实现,多继承。
*并且一个类除了实现接口之外的,还可以去继承其他类(保留了类的继承)
*/
public interface CustumerService {
//定义一个退出系统的方法
void logout();
}
package 接口;
/*
* 编写接口实现类。
* 该类的编写完全是面向接口去实现的。
*/
public class CustumerServiceTmpl implements CustumerService{
//对接口中的抽象方法进行实现。
public void logout(){
System.out.println(“成功退出系统!”);
}
}
package 接口;
/*
* 汽车和发动机之间的接口。
* 生产汽车的厂家面向接口生产
* 生产发动机的厂家面向接口生产
*
*/
public interface Engine {
//所有的发动机都可以启动
void start();
}
package 接口;
public class yamaha implements Engine {
public void start(){
System.out.println(“yamaha启动”);
}
}
package 接口;
public class hongda implements Engine{
public void start(){
System.out.println(“hongda启动”);
}
}
package 接口;
//生产汽车
public class Car {
//Field
//引擎
//面向接口编程
Engine e;
//Constructor
Car (Engine e){
this.e=e;
}
//汽车应该能够测试引擎
public void testEngine(){
e.start();//面向接口调用
}
}
package 接口;
public class Test {
public static void main(String[] args){
//1.生产引擎
Engine e1 = new yamaha();
//2.生产汽车
Car c = new Car(e1);
//3.测试引擎
c.testEngine();
//换HONDA
c.e = new hongda();
}
}
package 接口;
public class Test01 {
//入口
public static void main(String[] agrs){
//要执行CustomerServiceTmpl中的 logout方法
//以下程序面向接口去调用
CustumerService cs = new CustumerServiceTmpl();
//调用
cs.logout();
}
}
- Java之接口及其作用
- java接口作用及其好处
- java之Map接口及其实现类
- Java 接口作用之--代理设计模式
- Java关键字及其作用:
- Java关键字及其作用
- Java关键字及其作用
- Java关键字及其作用
- Java关键字及其作用
- Java关键字及其作用
- java关键字及其作用
- Java关键字及其作用
- Java关键字及其作用
- Java关键字及其作用
- Java关键字及其作用
- Java关键字及其作用
- java关键字及其作用
- Java关键字及其作用
- codevs 1009 产生数 题解报告
- Makefile
- 【bzoj 1858】 [Scoi2010]序列操作 线段树
- 对 jQuery 中 data 方法的误解分析
- 十月16日笔记
- Java之接口及其作用
- Wireshark中常见的TCP Info
- 【Derivation】MarkDown Letex编码 之 正态分布特征函数证明
- Spark的算子的分类
- hexo+github pages博客搭建记录
- 流程控制简单知识点以及零碎知识点
- 20161016 Python 读书笔记之函数抽象 参数、作用域
- UVa 540 Team Queue
- 多选框和反选框