接口interface
java中类不支持多继承,但是接口可以实现多继承
接口中所有的方法都是抽象的
class用于定义类,interface用于定义接口
接口的格式特点:
1、接口中常见定义:常量,抽象方法
2、接口中成员都有固定修饰符。
常量:public final static NUM = 3;
方法:public abstract
接口中的成员都是public的。
接口是不可以创建对象的,因为有抽象方法
只有子类对接口中的所有方法都覆盖后,子类才可以实例化,否则子类也是一个抽象类
类和类直接的关系是继承extends
类和接口直接的关系是实现implements,类实现接口的功能
一个类可以实现多个接口,一个接口可以继承多个接口
请看以下例子:
学生和运动员都继承Person这个类的name,age和sleep这些基础的熟悉和方法
但是并不是所有人都抽烟的,于是把抽烟smoking提取出来定义成一个接口,既相当于是一个扩展功能
学生不抽烟,但是运动员抽烟,于是Player类就实现Smoking接口的功能,将smoking方法重写
1 class Person 2 { 3 public String name; 4 public int age; 5 public void sleep() 6 { 7 System.out.println("sleep"); 8 } 9 } 10 class Student extends Person 11 { 12 public void study() 13 { 14 System.out.println("study"); 15 } 16 } 17 class Player extends Person implements Smoking 18 { 19 public void play() 20 { 21 System.out.println("play"); 22 } 23 public void smoking() 24 { 25 System.out.println("smoke huanghelou"); 26 } 27 } 28 interface Smoking 29 { 30 public abstract smoking(); 31 }
小结:
父类之中一般都是定义一些大家都要具备的,基本的,共性的一些东西
而接口之中定义的是一些类具有的,扩展性的东西