package com.lbj.javase17;
/**
* 接口也是一种引用类型,可以等同看做类
*
* 1.如何定义接口,语法:
* [修饰符]interface 接口名{}
*
* 2.接口中只能出现:常量、抽象方法
*
* 3.接口其实是一个特殊的抽象类,特殊在接口是完全抽象的
*
* 4.接口中没有构造方法,无法被实例化
*
* 5.接口和接口之间可以多继承
*
* 6.一个类可以实现多个接口【这里的"实现"可以等同看做"继承"】
*
* 7.一个非抽象的类实现接口,需要将接口中所有的方法"实现/覆盖/重写".
*
* 8.接口的作用:例如厨师、顾客和菜单之间的关系,菜单相当于接口
* 可以使项目分层,所有层都面向接口开发,开发效率提高了
*
* 9.接口使代码和代码之间的耦合度降低,就像内存条和主板的关系,变得"可拔插"
*
* 10.接口和抽象类都能完成某个功能,优先选择接口,因为接口可以多实现,多继承
*
* 11.并且一个类除了实现接口之外,还可以去继承其它类【保留了类的继承】
*
* @author 14811
*
*/
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=17;//也是一个常量
//抽象方法(接口中所有的抽象方法都是public abstract)
public abstract void m1();//不可以加{}体
//public abstract是可以省略的
void m2();
}
interface B{
void m1();
}
interface C{
void m2();
}
interface D{
void m4();
}
//implements是实现的意思,是一个关键字
//implements和extends意义相同
//class Myclass implements B,C{
// public void m1(){}
//}