Java基础——接口

概念

接口(interface)是抽象方法和常量的集合。
从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含方法和常量的定义,而没有变量和方法的实现。一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现类可以具有不同的行为(功能)。由此,接口具有强大的灵活性:“规定一个类做什么,而不管你如何做”。此外,接口还具有多继承的特性。

定义

使用interface来定义一个接口。接口体由常量定义和方法定义两部分组成。接口定义的基本格式如下:

[修饰符] interface 接口名 [extends 父类接口名列表]	{
	[public] [static] [final] 常量;
	[public] [abstract] 方法;
}

例子

//定义一个Move接口
interface Move	{
	void move;
}
//定义一个MoveFast实现类
class MoveFast implementsMove	{
	public void move {
		System.out.println("MoveFast");
	}
}
//定义一个MoveSlow实现类
class MoveSlow implements Move	{
	public void move {
		System.out.println("MoveSlow");
	}
}		

通过接口来引用类——接口多态

接口灵活性表现:我们可以定义一个接口类型的引用变量来指向实现接口的类的实例对象。

//定义一个Move接口
interface Move	{
	void move;
}
//定义一个MoveFast实现类
class MoveFast implementsMove	{
	public void move {
		System.out.println("MoveFast");
	}
}
//定义一个MoveSlow实现类
class MoveSlow implements Move	{
	public void move {
		System.out.println("MoveSlow");
	}
}
//定义测试类
class Test 
{
	public static void main(args[])
	{
	Move a;	//接口类型引用a
	a=new MoveFast()	//指向实现类MoveFast的实例对象
	a.move();
	a=new MoveSlow()	//指向实现类MoveSlow的实例对象
	a.move();
	}
}
/*
输出结果为:
MoveFast
MoveSlow
*/

一个接口,多个方法,展现了Java的动态多样性。

接口多实现

在Java中,类的多继承是不合法的,但接口允许多继承和多实现。

//定义一个Move接口
interface Move	{
	void move;
}
//定义一个Speak接口
interface Speak	{
	void Speak;
}
//定义一个HumanAbility接口
interface HumanAbility extends Move,Speak	{
}
//定义一个Boy实现类
class Boy implements Move,Speak	{
	public void move {
		System.out.println("Boy can move");
	}
	public void speak {
		System.out.println("Boy can speak");
	}
}
//定义一个Girl实现类
class Girl implements HumanAbility	{
	public void move {
		System.out.println("Girl can move");
	}
	public void speak {
		System.out.println("Girl can speak");
	}
}
//定义一个Monkey实现类
class Monkey implements Move	{
	public void move {
		System.out.println("Monkey can move");
	}
}
//定义测试类
class Test 
{
	public static void main(args[])
	{
	Boy boy=new Boy ;
	boy.move;
	boy.speak;
	Girl girl=new Girl;
	Girl.move;
	Girl.Speak;
	Monkey monkey=new Monkey;
	monkey.move;
	}
}
/*
输出结果为:
Boy can move
Boy can speak
Girl can move
Girl can speak
Monkey can move
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值