接口语法
interface 接口名{
//静态常量,抽象方法
}
特点
接口中只能存放静态常量和抽象方法
java接口是对功能的扩展
通过实现接口,java类可以实现多实现
一个类可以同时继承(extends)一个父类并且实现(implements)多个接口
接口与接口之间可以通过extends来继承
接口与抽象类的区别
抽象类和具体实现类之间是一种继承关系,父类和子类在概念上相同
接口和实现类在概念上不要求相同,不关注类之间的关系,只是抽取相互之间没有关系的类的共同特征
抽象类用于一组相关的事物 表示的是is--a 的关系
接口用于一组不相关的事物,表示的是like-a的关系
package com.tanlei.newer;
//动态绑定
public class InterfaceDemo {
public static void main(String[] args) {
Personssss p=new Personssss();
Child child=new Child();
tomcat tomcat=new tomcat();
p.feed(child);
p.feed(tomcat);
}
}
interface Iability{
//接口中只能存放公有的静态常量和抽象方法
/*public static final int number=1;
public abstract void show();*/
void eat();
}
class Personssss{
/*public void feed(Child child) {
child.eat();
}
public void feed(tomcat tomcat) {
tomcat.eat();
}*/
//接口的引用变量可以引用其实现类的对象
public void feed(Iability iability) {
iability.eat();
}
}
class Child implements Iability{
public void eat() {
System.out.println("吃米粉");
}
}
class tomcat implements Iability{
public void eat() {
System.out.println("吃鱼");
}
}