再讲接口之前先我们先来了解以下抽象类 我们在编程定义一个类时,常常无法明确一些类的方法具体实现什么功能。name如何使一个类里面既包含了方法有不需要提供方法的实现呢? 针对上述问题java提供了抽象方法来满足需求。抽象方法必须有abstract关键字 来修饰,并且在定义方法时不需要提供实现方法体。当一个类中包含了抽象方法,那么该类也必须使用abstract关键字修饰,这种使用abstract关键字修饰的类就叫抽象类。
抽象类和抽象方法的语法:
//定义抽象类 [修饰符] abstract class 类名{ //定义抽象方法 [修饰符] abstract 方法返回值类型 方法名([参数列表]); }接下来进入主题: 接口: 如果一个类中所有的方法都是抽象的,则可以将这个类定义为java的另一种形式——接口。接口是一种特殊的抽象类,他不能包含普通方法,其内部的所有方法都是抽象方法。 与定义类不同的是,在定义接口时,不在使用class关键字,而是使用interface关键字来声明。格式如下:、
[修饰符] interface 接口名[extends 父接口1,父类2...]{ [public] [static] [final] 常量类型 常量名=常量值; [public] [abstract] 方法返回值类型 方法名([参数列表]); [public] default 方法返回值类型 方法名([参数列表]);//默认方法的方法体使用default修饰 [public] static 方法返回值类型 方法名 ([参数列表]);//静态方法(类方法)的方法体使用static修饰 }讲解上述代码:
“extends 父接口1 ,父接口2…”表示定义一个接口时,可以同时继承多个父接口,这也是为了解决类的单继承的限制。“[]”里面的内容可选,也可以直接省略不写,系统自动添加。接口的实现类: 接口的实现类通过implements 关键字实现当前接口,并实现接口中的所有抽象方法。需要注意的是:一个类在继承父类的同时实现多个接口,并且多个接口之间需要使用英文逗号分隔。 定义接口的实现类语法格式:
[修饰符] class 类名 [extends 父类名] [implements 接口1,接口2...]{ ... }