接口的初期理解:可以认为是一个特殊的抽象类
当抽象类中的方法都是抽象的,该类可以通过接口的方式来表示
calss用于定义类
interface用于定义接口
接口定义时的格式特点:
- 接口中的常见定义:常量,抽象方法
-
接口中的成员都有固定修饰符
常量:public static final
方法:public abstract
记住:接口中的成员都是public的
接口是不可以创建对象的,因为有抽象方法,需要被子类实现,子类对接口中的抽象方法全部覆盖后才能实例化
否则子类是一个抽象类
interface Inter { public static final int NUM = 3;//public static final可以省略,效果一样 public abstract void show();//abstract可以省略,效果一样 } class Test implements Inter//用implements而不是extends { public void show(){} } class InterfaceDemo { public static void main(String[] args) { Test t = new Test(); System.out.println(t.NUM); System.out.println(Inter.NUM); System.out.println(Test.NUM); } }
接口是用来功能扩展的,由后期子类来实现
基本功能在类中,扩展功能在接口中
abstract class Student { abstract void study(); void sleep() { System.out.println("sleep"); } } interface Somking { public abstract void smoke(); } class SmokeStudent extends Student implements Somking { void study(){} public void smoke(){}//体系以外的功能扩展 } class NoSmokeStudent extends Student { void study(){} }
Happy coder
浙公网安备 33010602011771号