接口
初期理解:可以认为是一个特殊的抽象类
当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示
interface:用于定义接口
格式特点:
1.接口中常见定义:常量,抽象方法
2.接口中成员都有固定修饰符(不写自动补上):
常量:public static final
方法:public abstract
**接口中的成员权限都是public
接口不能创建对象,因为有抽象方法,需要被子类实现
子类对接口中的抽象方法全都覆盖后,子类才可以实例化
interface Inter{ public static final int NUM=3; public abstract void show(); //抽象内容}class test implements Inter{ //实现接口 public void show(){};}class InterfaceDemo{ public static void main(String[] args){ test t=new test(); System.out.println(t.NUM); }}
接口可以被类多实现,也是对多继承的转换形式
**抽象方法没有主体,因此不会挂断
interface Inter{ public static final int NUM=3; public abstract void show(); //抽象内容}interface InterA{ public abstract void method();}class Demo{ public void function(){ }}class test extends Demo implements Inter,InterA{ //实现接口 public void show(){}; public void method(){};}
接口与接口之间可继承,并且支持多继承(方法必须同类型)
interface Inter{ public static final int NUM=3; public abstract void show(); //抽象内容}interface InterA extends Inter{ public abstract void method();}interface InterB extends InterA{}
接口的特点
接口是对外暴露的规则
接口是程序的功能扩展
接口可以多实现
类与接口之间是实现关系,类可以继承一个类的同时实现多个接口
接口与接口之间可以有继承关系
abstract class inter_Student{ abstract void study(); void sleep(){ System.out.println(sleep); }}interface Smoking{ void smoke();}class studentA extends inter_Student implements Smoking{ void study(){}; public void smoke(){};}class studentB extends inter_Student{ void study(){};}