为什么使用接口?
有时候必须从几个类当中派生出一个子类,继承他们所有的属性和方法,但是java不支持多重继承于是就有了接口
接口的特征有哪些?
1.接口用interface实现
2.接口中所有的成员变量都是由public static final修饰的
3.接口中的所有方法默认都是public abstract修饰的
4.接口没有构造方法,构造方法用于创建对象(接口没办法new对象),但是可以使用多态
5.实现接口的类中,必须实现接口中的所有方法,如果不实现接口中所有的方法,那么该类是抽象类
6.接口和接口之间可以互相继承
7.与继承关系类似,接口与实现类之间存在多态性
接口的多继承性
定义接口Eat
public interface Eat { public void eat(); }
定义接口Run
public interface Run{ public void run(); }
定义类Person继承接口Eat,Run
public class Person implements Eat,Run { public static void main(String[] args) throws ClassNotFoundException { } @Override public void run() { // TODO Auto-generated method stub } @Override public void eat() { // TODO Auto-generated method stub } }
接口的多态性
public class Person implements Eat,Run { public static void main(String[] args) throws ClassNotFoundException { Eat pEat=new Person(); Run pRun=new Person(); pEat.eat(); pRun.run(); } @Override public void run() { // TODO Auto-generated method stub System.out.println("RUN"); } @Override public void eat() { // TODO Auto-generated method stub System.out.println("EAT"); } }
接口的好处
1.降低耦合度
2.提高程序的可扩展性