栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础——接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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();
	}
}

一个接口,多个方法,展现了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;
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/888997.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号