欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-17 17:01:46
...

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

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");
    }
}


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

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

package day0614;

public class Demo01UseDefault implements Demo01default{

}

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

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

package day0614;

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

    }
}

图片版:
java接口中私有方法定义和使用(解决代码重复的问题)
运行结果如下:
java接口中私有方法定义和使用(解决代码重复的问题)

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

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

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

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");
    }
}


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

package day0614;

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

    }
}

图片版:
java接口中私有方法定义和使用(解决代码重复的问题)
运行结果:
java接口中私有方法定义和使用(解决代码重复的问题)

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

相关标签: java 接口