接口的概念和作用
接口语法
interface 接口名{
//共有静态常量、抽象方法
}
接口的特点
- 接口中只能存放静态常量和抽象方法
- Java接口是对功能的拓展
- 通过实现接口,Java类可以实现多实现
- 一个类可以同时继承(extends)一个父类并且实现(implements)多个接口 接口与接口之间可以使用extends实现继承
接口与抽象类的区别
- 抽象类和具体实现之间是一个继承关系,也就是如果采用抽象类的方式,则父类和子类在概念上应该是相同的is-a
- 接口实现类在概念上不要要求相同,接口只是抽取相互之间没有关系的类的共同特征,而不去关注类之间的关系,它可以没有层次关系的类具有相同的行为
- 抽象类是对一组具有相同属性和行为的逻辑上有关系的事物的一种抽象,而接口则是对一组具有相同属性和行为的逻辑上不相干的事物的一种抽象
interface Behave{//定义一个接口
abstract void eat();
abstract void drink();
}
class Man implements Behave{
public void eat() {
// TODO Auto-generated method stub
System.out.println("man eat");
}
public void drink() {
// TODO Auto-generated method stub
System.out.println("man drink");
}
}
class Dog implements Behave{
public void eat() {
// TODO Auto-generated method stub
System.out.println("dog eat");
}
public void drink() {
// TODO Auto-generated method stub
System.out.println("dog drink");
}
}
public class Test {
public static void main(String[] args) {
new Dog().eat();//也可以这样调用一个类
new Dog().drink();
}
}