JDK1.8 接口静态方法妙用

本文介绍了JDK1.8引入的接口静态方法特性,通过一个代码示例展示了如何在接口中定义和使用静态方法,包括接口内部类的单例实现。接口静态方法提供了更灵活的编程方式,可以直接通过接口名调用,且不可被实现类重写。
摘要由CSDN通过智能技术生成


一、接口静态方法?

JDK1.8开始,接口中也可以定义静态方法,这使得我们的编程更加的灵活。

二、代码示例

代码如下:

public interface DemoService {

    //定义一些接口,等等吧
    Object deal(String key);

    void deal2(Object obj);

    static DemoService getInstance() {
        return DemoService.Impl.get();
    }

    /**
     * 接口中用内部类实现接口
     * 采用单例模式保证每次获取的都是同一对象
     */
    class Impl {
        public static DemoService get() {
            return DemoServiceImpl.INSTANCE;
        }

        private static class DemoServiceImpl implements DemoService {
            private static DemoService INSTANCE = new DemoServiceImpl();

            @Override
            public Object deal(String key) {
                System.out.println("业务处理1:" + key);
                return null;
            }

            @Override
            public void deal2(Object obj) {
                System.out.println("业务处理2");
            }
        }
    }

    /**
     * 调用 接口名.静态方法
     * @param args
     */
    public static void main(String[] args) {
        DemoService.getInstance().deal("111");
    }
}

三、总结

在接口中定义静态方法,可以很灵活的为接口写一些公用的方法。示例代码是在接口中写了自己的实现类。以后也可以很灵活的写N多的实现类去实现这个接口。另外接口静态方法不可以被接口实现类重写。使用的时候直接接口名.静态方法名即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值