Java之接口的使用

版权声明:转载请注明出处 https://blog.csdn.net/qq_41431457/article/details/86228701
  • 接口实现的基本语法

实现接口时,需要使用关键字implements,该关键字指定该类实现接口,基本语法如下。

class  <类名> implements <接口名列表>

接口名列表中可以有多个接口,因为接口代表的角色,一个类可以扮演多个角色,下面给出了一个合法的接口实现的代码片段。

public interface Employee { } //Employee接口

public interface Manager  { } //Manager接口

public class Person implements Employee,Manager { }
//Person实现了Employee和Manager接口

Employee、Manger都是接口,分别代表普通员工和经理,Person是一个类,代表自然人,实现了Employee和Manage接口,表示人同时扮演经理和员工两个角色。


  • 接口中方法的实现与使用

类的继承使得开发人员可以处理同类的事物,但不能处理不同类但具有相同功能的事物。接口能够被很多不同的类实现,但接口中定义的方法仅仅是实现某一特定功能的规范,而并没有真正实现这些功能。这些功能都需要在实现该接口的类中完成。

例如,直升飞机与民航客机够可以充当飞行器的角色,但直升机与民航客机没有任何继承关系,但是直升机与民航客机通过实现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();
	}

}

上面的例子中,阿帕奇直升机实现了飞行器和直升飞机的接口,空客A380实现了飞行器和明航飞机的接口。无论在阿帕奇直升机还是A80类中都必须实现接口中定义的方法,否则编译会报错。

猜你喜欢

转载自blog.csdn.net/qq_41431457/article/details/86228701