/* 接口:体现的思想就是声明(规则) 思路:如果发现一个类,所有的组成都是抽象方法 -没有成员变量 -没有普通方法 这种类,通常会设计为Java中的接口。因为这个类唯一的价值就是声明规则。 --------------------------------------------------------------- 接口的定义格式: interface 接口名{} 注意:接口不能实例化 接口和类之间是实现关系,通过implements关键字来完成 class 类名 implements 接口名{} 实现类(接口的子类): 1.重写所有的抽象方法 2.将实现类变为抽象类 */ public class InterfaceTest { public static void main(String[] args) { Implement i = new Implement(); i.show(); i.method(); } } interface Inter { public abstract void show(); public abstract void method(); } class Implement implements Inter { @Override public void show() { System.out.println("show..."); } @Override public void method() { System.out.println("method..."); } }
package code.interface_demo02.interface_demo_test; /* 接口的成员特点: 1.成员变量:只能定义常量,因为系统会默认加入以下三个关键字 public static final -这三个关键字没有顺序关系 2.成员方法:只能是抽象方法,因为系统会默认加入以下两个关键字 public abstract 3.构造方法:没有 */ public interface Inter { int NUM = 10; void show(); } package code.interface_demo02; import code.interface_demo02.interface_demo_test.Inter; public class InterfaceTest { public static void main(String[] args) { System.out.println(Inter.NUM); //10 } }
/* 接口和类之间的各种关系: 1.类和类之间:继承关系, 只支持单继承,不支持多继承,但可以多层继承 2.类和接口之间:实现关系, 可以单实现,也可以多实现,甚至可以在继承一个类的同时,实现多个接口 3.接口和接口之间:继承关系, 可以单继承,也可以多继承 */ public class InterfaceTest { public static void main(String[] args) { } } class Fu{ public void show(){ System.out.println("show..."); } } interface A{ void show(); } interface B{ void method(); } class AB implements A,B{ @Override public void show() { } @Override public void method() { } } class Zi extends Fu implements A,B{ @Override public void method() { } }