在生活中我们可以接触到各种各样的接口,例如插线板接口,USB接口。不同的用电器只要符合插线板接口就可以使用插线板。同理不同的设备只要符合USB接口协议基于可以使用USB接口,例如在电脑的USB接口上可以插入鼠标,键盘,存储设备。总的来说接口是一种规范协议,只要设备满足这种规范,就可以使用接口实现相应的功能。在JAVA中 接口更多的体现在对行为的抽象。
2 接口的特点1)接口用关键字interface修饰
public interface 接口名 {}
2)类实现接口用implements表示
public class 类名 implements 接口名 {}
3)接口不能被直接实例化
接口要像实例化,需要参照多态的方式,通过实现类对象象实例化,这称为接口多态。
补充说明多态形式:
具体类多态,抽象类多态,接口多态。
4)多态的前提
有继承或者实现关系;
有方法重写
有父(类/接口)饮用指向(子/实现)类对象。
5)接口实现类
要么重写接口中的所有抽象方法,要么是抽象类。
2.1接口实例代码定义一个Animal接口,其中有一个技能kill抽象方法。
package Interface;
public interface Animal {
public abstract void kill();
}
定义一个Cat和一个Dog类来实现这个接口。
//猫的实现类
package Interface;
public class Cat implements Animal{
@Override
public void kill() {
System.out.println("我的技能是捉老鼠");
}
}
//狗的实现类
package Interface;
public class Dog implements Animal{
@Override
public void kill() {
System.out.println("我的技能是看门");
}
}
定义一个测试类进行测试猫狗实现类对进口功能的实现
package Interface;
public class AnimalDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Animal cat = new Cat();
Animal dog = new Dog();
System.out.println("猫的技能");
cat.kill();
System.out.println("狗的技能");
dog.kill();
}
}
测试结果
猫的技能
我的技能是捉老鼠
狗的技能
我的技能是看门
由此可以看出接口提供了一个Kill方法,不同的实现类按照规则均可使用该接口。
2.2接口的成员特点成员变量
1)只能是常量
2)默认修饰符为:public static final
构造方法
1)接口中没有构造方法,因为接口主要是对行为进行抽象的,是没有具体存在。如果一个类没有父类,默认继承自Object类
成员方法
1)只能是抽象方法。默认修饰符:public abstract
3 类和接口的关系1)类和类的关系
继承关系,只能单继承,但是可以多层继承
2)类和接口的关系
类实现接口,可以但实现,也可以多实现,还可以在继承一个类的同时实现多个接口
3)接口和接口的关系
继承关系,可以单继承,也可以多继承
4抽象类与接口的区别1)成员区别
抽象类 可以有常量变量,构造方法,抽象方法,非抽象方法
接口 只有常量,抽象方法
2)设计理念的区别
抽象类 对类抽象,包括属性行为
接口 对行为抽象,主要是行为



