Java的接口

接口在定义时不需要方法,它的方法在多个类中定义,藉此来增强多态性。接口的方法必须是public。

如果一个类对接口的方法的定义不完全,则该类必须定义成abstract。方法的定义必须在其子类里完善。

关于接口的实践,笔者用《Core Java》中的例子来诠释:

堆栈的push和pop是很适合用接口来定义的,首先定义一个用以存放整型的堆栈接口

//integer stack interface
interface IntStack{
	void push(int a);
	int pop();
}
再定义一个固定长度的堆栈和一个变长的堆栈

class FixedStact implements IntStack{

//定义定长的pop和push方法

}

class DynStact implements IntStack{

//定义变长的pop和push方法

}

多态性的展示

class test{

	public static void main(Strings args[]){

		IntStact a;

		DynStact ds=new DynStact();

		FixedStact fs=new Fixedstact();

		a=ds; System.out.println(a.pop());

		a=fs; System.out.println(a.pop());

}

}
这是一个不完整不能实现的例子,但是用于理解思想是可以的。接口可用不同的方式得以实现。

除此以外,还可以将接口当作C的#define或const用。创建一个接口不包含方法,只有变量,就可以在多个类中共享常量。


接口也可以继承。但是当一个类实现接口的子类时,该类必须把所有的父类的方法都实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值