实现接口时,需要使用关键字implements,该关键字指定该类实现接口,基本语法如下。
class <类名> implements <接口名列表>
接口名列表中可以有多个接口,因为接口代表的角色,一个类可以扮演多个角色,下面给出了一个合法的接口实现的代码片段。
接口中方法的实现与使用
类的继承使得开发人员可以处理同类的事物,但不能处理不同类但具有相同功能的事物。接口能够被很多不同的类实现,但接口中定义的方法仅仅是实现某一特定功能的规范,而并没有真正实现这些功能。这些功能都需要在实现该接口的类中完成。
例如,直升飞机与民航客机够可以充当飞行器的角色,但直升机与民航客机没有任何继承关系,但是直升机与民航客机通过实现Flyer接口,使得二者都能够作为飞行器进行处理。因为类对接口的实现有上述含义,因为当一个类实现了某个接口,其应当为该接口中的所有方法提供具体实现,除非该类为抽象类。
package cahpter05;
//飞行器接口
interface Aerocraft
{
public void fly();
}
interface Airplan
{
//载客飞行
public void passenger();
}
//直升机接口
interface Helicopter
{
//垂直飞行
public void verticaStart();
}
class Apache implements Aerocraft,Helicopter
{
//实现方法
public void fly()
{
System.out.println("飞行器可飞行");
}
public void verticaStart()
{
System.out.println("直升飞机可以垂直起飞");
}
}
//A380客机类,同时实现Aerocraft Airplane接口
class A380 implements Aerocraft,Airplan
{
public void fly()
{
System.out.println("飞行器可以飞行");
}
public void passenger()
{
System.out.println("A380可以载客625人飞行");
}
}
public class Sample5_1
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
Apache a= new Apache();
a.fly();
a.verticaStart();
A380 a1 =new A380();
a1.fly();
a1.passenger();
}
}