随笔-java接口JDK1.7和JDK1.8的区别

JDK1.7中:方法全都是全局抽象的方法,用public abstract修饰。如:如:(public abstract缺省存在)void run();

JDK1.8中:除了缺省修饰全局抽象方法外,还可以有仅用static或者仅用default(不可省略)修饰的非抽象方法.
如:public static run(){};
   要求:实现类不能重写,只能用接口名.方法名调用.
   public default run(){};
   要求:可重写,可不重写,通过接口名.super.方法名调用

代码:

 public interface A {
	 String str="接口中的全局静态常量,public final static缺省修饰";
	 void run();//接口中的全局抽象方法,public abstract缺省修饰
	 public static void run2() {
		 System.out.println("static修饰非抽象方法");
	 };
	 public default void run3() {
		System.out.println("default修饰非抽象方法"); 
	 };
 
}
public class B implements A {
 
	@Override
	public void run() {
		System.out.println("子类重写");
	}
	@Override
	public void run3() {//default关键字只能出现在接口中
		A.super.run3();//编译器自动添加的调用,
		A.run2();
	}
	public static void main(String[] args) {
		B b=new B();
		b.run();
		b.run3();
	}
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值