java接口中私有方法定义和使用(解决代码重复的问题)

定义接口类,里面有默认方法还有私有方法

package day0614;

public interface Demo01default {
    //定义默认方法
    public default void defaultMethod1(){
        System.out.println("第一个默认方法");
        defaultCommon();
    }
    public default void defaultMethod2(){
        System.out.println("第二个默认方法");
        defaultCommon();
    }
    private void defaultCommon(){
        System.out.println("1111");
        System.out.println("2222");
        System.out.println("3333");
    }
}


图片如下:
在这里插入图片描述

要有一个类实现接口里面的成员方法:

package day0614;

public class Demo01UseDefault implements Demo01default{

}

图片版:
在这里插入图片描述

实例化对象来调用接口里面成员方法。

package day0614;

public class Demo01 {
    public static void main(String[] args) {
        Demo01UseDefault d1 = new Demo01UseDefault();
        d1.defaultMethod1();
        d1.defaultMethod2();

    }
}

图片版:
在这里插入图片描述
运行结果如下:
在这里插入图片描述

上面第一个例子是用默认成员方法,接下来静态成员方法试试:

从上篇推文静态方法使用那篇文章可以可知,用静态成员方法就不用实现类了,直接接口调用就行,贪图方便,我就不该类名称了,改一下参数内容

先定义接口类,然后里面有静态成员方法还有私有成员方法:

package day0614;

public interface Demo01default {
    //定义默认方法
    public static void staticMethod1(){
        System.out.println("第一个默认方法");
        staticCommon();
    }
    public static void staticMethod2(){
        System.out.println("第二个默认方法");
        staticCommon();
    }
    private static void  staticCommon(){
        System.out.println("aaa");
        System.out.println("bbb");
        System.out.println("ccc");
    }
}


图片版:
在这里插入图片描述
实现:

package day0614;

public class Demo01 {
    public static void main(String[] args) {
       Demo01default.staticMethod1();
       Demo01default.staticMethod2();

    }
}

图片版:

运行结果:
在这里插入图片描述

写在最后:当你在定义类的时候想抽取一个共有方法的时候(可以用来解决代码重复的问题),就可以有私有化来实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值