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 Person11 {12 public void study()13 {14 System.out.println("study");15 }16 }17 class Player extends Person implements Smoking18 {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 Smoking29 {30 public abstract smoking();31 }
小结:
父类之中一般都是定义一些大家都要具备的,基本的,共性的一些东西
而接口之中定义的是一些类具有的,扩展性的东西