jdk1.8接口新特性

接口定义

1、接口是用interface声明的,用来约束类的方法;
2、接口没有构造函数,无法直接通过new创建,只可以被实现;
3、接口可以被多实现;
4、接口之间可以多继承;
5、接口里的变量都是默认 public static final修饰的

1.8以前

  • 接口中的方法都是默认public abstract修饰的,不可用其他修饰符
  • 接口中所有方法都不可实现
public interface StandardInterface {
    int value=1;
    void test();
}

1.8以后

  • 接口中的抽象方法都是默认public abstract修饰的
  • 接口中可以存在非抽象方法,包括静态方法和非静态方法
  • 静态方法默认是public修饰的,不可用其他修饰符
  • 非静态方法必须用default修饰,代表接口中的默认实现
public interface StandardInterface {
    int value = 1;
    void test();
    default void testDefault() {
    }
    static void testStatic() {
    }
}

与抽象类的区别

抽象类是用abstract来声明的;抽象类只可以被单继承;抽象类的属性和方法修饰符不被限制;抽象类可以
存在静态代码块,接口不行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值