Java8中接口的default

本文介绍了Java8中引入的default方法特性,允许接口拥有默认实现,这意味着实现类可以选择是否覆盖这些方法。同时,接口内可以声明静态变量和静态方法,但不能有实例变量和非静态方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java8 接口的default

特性

  1. java 8 开始 接口可以有default方法
  2. 接口默认 public abstract
  3. 如果方法在接口中存在默认实现,那么实现类中不强制要求进行实现。
  4. 接口中不允许存在成员变量和成员方法,但是可以存在静态变量和静态方法

代码

  //Java8 接口的default
public class No01 {
    @Test
    public void test() {

        A a = new A() {
            @Override
            public void test() {
                System.out.println("test");
            }
        };
        System.out.println(A.a);//1
        a.test();//调用test方法
        a.test02();//调用default方法
        A.test03();//接口调用静态方法

    }
}


interface A {
    //    public static final int a = 10;
    int a = 1;//默认public static final

    void test();//默认public abstract

    default void test02() {
        System.out.println("A");
    }

    static void test03() {//默认public
        System.out.println("A");
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值