1、接口:使用关键系interface,表明只是一种与类无关的全新的数据类型
访问修饰符只能是public或默认。
public interface Serviceable{
//属性----只能是公共的静态的常量
就算不写也会默认是public static final 的
//构造方法----接口没有构造方法,说明接口不能直接产生对象
//行为方法----接口里面只能有公共的抽象方法(在jdk1.8中,接口可以拥有实现方法,不过要加default)
就算不写public abstract关键字,也会默认为公共的抽象方法
}
接口是又一种引用数据类型
作用:①在没有继承关系的类之间,提供共同的行为
②为Java中的类与类之间的单继承,提供多实现
接口的用法:①可以继承接口,而且是多继承(extends)
②类可以实现接口(implements)
public class abstract 类名 implements 接口名{
}
abstract关键字可以不要,但是要重写借口里面的抽象方法
类实现接口必须实现接口里面的所有抽象方法,否则这个类就是抽象类
类实现接口是多实现,也就是一个类可以实现多个类
把一个类与生俱来的方法写到父类中,附属添加的方法写到接口中
2、接口和抽象类的区别
抽象类 接口
定义语法:①abstract ①interface
②修饰符都可以 ②修饰符只能是public或默认
③可定义任意属性 ③只能定义公共静态常量属性
④有构造 ④无构造
⑤ 抽象方法必须有abstract ⑤执行方法可以不写interface关键字
⑥可以有实现方法 ⑥jdk1.8之前不能有实现方法,jdk1.8有实现方法,但是要加default修饰
使用语法:可以被子类继承(单继承) ①可以被子接口继承(多继承)
②可以被实现类实现(多实现)
设计思想:把一脉相承与生俱来的行为定义在抽象类中 把外部可以附属添加的行为定义在接口中