一、什么是接口
接口是一种类型(引用数据类型),里面有常量和方法,没有构造方法,而且是抽象类型,不能够创建对象,需要定义去实现。
解释:总共有三个类,A和B和C,三个类中都有name 和 age 属性,A类中有eat()方法,B类中也有eat()方法,但是C类没有,此时可以定义一个接口专门存放eat()方法,让A类和B类实现该接口而C类不用,因为只有C类中没有该方法。
二、接口的语法
使用关键字 interface
[public] interface 接口名{
}
例如:
public interface Usb{
}
三、类和接口的关系
类和接口之间是实现
关系,使用关键字 implements
,可以称该类为接口的实现类,跟继承类似,但是关键字不同。
注意:实现接口必须实现接口里面的方法
四、接口的注意事项
①、接口中的方法 : 在接口中的方法会默认自动加上 public abstract
修饰,无须手写,但是推荐新手自己手写加强印象。
②、接口中的常量 : 常量必须赋初始值,命名规范建议字母都大写,多个单词使用下划线隔开。
③、接口中没有构造函数,且接口不能够创建对象
解释: 因为接口不能有构造函数,所以不能用 new ,所以不能创建对象
④、接口中的方法和属性都是抽象的
⑤、一个实现类(子类)可以实现多个接口用逗号
分隔开即可
例如: public class Usb implements A,B{
}
⑥、如果父类接口中某个抽象方法未重写实现,这个子类也必须定义为抽象类 (很少用)
五、图例讲解
这里有三个动物,(猫、狗、羊),属性都有name、age。
猫的方法: eat() 、sleep() 、swimming()
狗的方法: eat()、sleep()、swimming()
羊的方法: eat()、sleep()
可以将三个类中的共同属性和方法抽取出来放入一个公共的类:动物类,而swimming方法只有猫和狗有所以可以专门写一个接口然后实现该方法
六、类和类、类和接口、接口和接口的关系
七、简答举例
Usb 接口类
package test3;
public interface Usb {
public abstract void charge();
int a = 1;
}
usbCharge
package test3;
public class usbCharge implements Usb{
@Override
public void charge() {
System.out.println("充电");
}
}