接口

抽象方法的集合就是接口。接口中可以有常量(默认为public static final),抽象方法,内部类以及Java8新增的default方法和static修饰的方法。举个例子:
其中ISecond接口继承IFirst接口。实现类同时实现ISecond,IThird接口。

public interface IFirst {

	int A=1;//默认为public static final
	
	public abstract void eat();
}
public interface ISecond extends IFirst{

	int A=2;//默认为public static final
	
	public abstract void run();
}
public interface IThird {
	int A = 3;
}

public class Achievement implements ISecond,IThird{

	@Override
	public void eat() {
		System.out.println("牛排");
	}

	@Override
	public void run() {
		System.out.println("。。。");
	}
	
	public static void main(String[] args) {
		
		System.out.println(IThird.A);//3
		
		ISecond second = new Achievement();//接口回调
		second.eat();
		second.run();
		System.out.println(second.A);//2
	}
}

实现类main方法中两次输出常量A的值,但结果不一样。当实现类只实现ISecond接口时,System.out.println(A);输出ISecond接口A的值,而不是IFirst接口里A的值。当实现类同时实现ISecond,IThird时,System.out.println(A);会报错,这时需要用接口名.常量的方式指定输出某个常量值。接口回调类似于多态,用接口名声明的变量指向实现类的对象,这个变量可以直接调用接口中的抽象方法跟常量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值