您的位置:首页 > 编程语言 > Java开发

Java之接口及其作用

2016-10-16 20:24 246 查看
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