Java基础学习——Java面向对象之接口
格式:
interface 接口名{}
接口中的成员修饰符是固定的。
成员常量:public static final
成员函数:public abstract
发现接口中的成员都是public的。
接口的出现将“多继承”通过另一种形式体现出来,即“多实现”。
接口的定义
[修饰符] interface 接口名 [extends 父接口名表 ]
{
[常量属性]
[修饰符]返回值类型 方法名(参数表); //抽象方法声明
}
接口的特点
接口是对外暴露的规则。
接口是程序的功能扩展。
接口的出现降低耦合性。
接口可以用来多实现。
类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。
接口与接口之间可以有继承关系。
接口与抽象类
使用规则:
当在共性较多的对象间寻求功能上的差异时,使用抽象基类;当在差异较大的对象间寻求功能上的共性时,使用接口。
抽象类应主要用于关系密切的对象,而接口最适合为不相关的类提供通用功能。
接口多定义对象的行为;抽象类多定义对象的属性;
共性:都是不断抽取出来的抽象的概念
区别:1、抽象类体现继承关系,一个类只能单继承
接口体现实现关系,一个类可以多实现
2、抽象类是继承,是 "is a "关系
接口是实现,是 "like a"关系
3、抽象类中可以定义非抽象方法,供子类直接使用
接口的方法都是抽象,接口中的成员都有固定修饰符
格式:
interface 接口名{}
接口中的成员修饰符是固定的。
成员常量:public static final
成员函数:public abstract
发现接口中的成员都是public的。
接口的出现将“多继承”通过另一种形式体现出来,即“多实现”。
接口的定义
[修饰符] interface 接口名 [extends 父接口名表 ]
{
[常量属性]
[修饰符]返回值类型 方法名(参数表); //抽象方法声明
}
接口的特点
接口是对外暴露的规则。
接口是程序的功能扩展。
接口的出现降低耦合性。
接口可以用来多实现。
类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。
接口与接口之间可以有继承关系。
接口与抽象类
使用规则:
当在共性较多的对象间寻求功能上的差异时,使用抽象基类;当在差异较大的对象间寻求功能上的共性时,使用接口。
抽象类应主要用于关系密切的对象,而接口最适合为不相关的类提供通用功能。
接口多定义对象的行为;抽象类多定义对象的属性;
共性:都是不断抽取出来的抽象的概念
区别:1、抽象类体现继承关系,一个类只能单继承
接口体现实现关系,一个类可以多实现
2、抽象类是继承,是 "is a "关系
接口是实现,是 "like a"关系
3、抽象类中可以定义非抽象方法,供子类直接使用
接口的方法都是抽象,接口中的成员都有固定修饰符
1 | //USB接口定义。interface USB{ void open(); void close();} |
//描述笔记本电脑。
class NoteBook{ public void run() { System.out.println("notebook run"); }
//使用usb接口的功能。 public void useUSB(USB usb)//接口类型的变量。接口类型的变量指向自己的子类对象。 //USB usb = new Mouse(); { if(usb!=null) { usb.open(); usb.close(); } }}
class Mouse implements USB{ public void open() { System.out.println("mouse open"); } public void close() { System.out.println("mouse close"); }}
class KeyBoard implements USB{ public void open() { System.out.println("KeyBoard open"); } public void close() { System.out.println("KeyBoard close"); }}