这篇文章主要介绍了java接口私有方法实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
问题描述:
我们需要抽取一个共有方法,用来解决两个默认方法之间重复代码的问题
但是这个共有方法不应该让实现类使用,应该是私有化的。
解决方案:
从java 9开始,接口当中允许定义私有方法。
1、普通私有方法,解决多个默认方法之间重复代码问题
格式:
private 返回值类型方法名称(参数列表){
方法体
}
2、静态私有方法,解决多个静态方法之间重复代码的问题
格式:
private static 返回值类型 方法名称(参数列表){
方法体
}
public interface MyInterfacePrivateA { /*//private用法 public default void methodDefault1(){ System.out.println("默认方法1"); methodCommon(); } public default void methodDefault2(){ System.out.println("默认方法2"); methodCommon(); } private void methodCommon(){ System.out.println("AAA"); }*/ //static用法 public static void methodStatic1(){ System.out.println("静态方法1"); methodStaticCommon(); } public static void methodStatic2(){ System.out.println("静态方法2"); methodStaticCommon(); } private static void methodStaticCommon(){ System.out.println("AAA"); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
在java 8之前,接口可以有以下类型的变量/方法。 常量变量 抽象方法 所以我们不能在接口中编写方法的实现,或者更确切地说,在Java 8之前实现默认实现。请参阅下面示例。 执行上面示例代码,得到以下结果 - 在上面的例子中,每个日志方法都有自己的实现。 使用Java 8接口可以有以下类型的变量/方法。 常量变量 抽象方法 默认方法 静态方法 让我们使用Java 8在接口中使用默认实现和静态方法
本文向大家介绍Java基于rest assured实现接口测试过程解析,包括了Java基于rest assured实现接口测试过程解析的使用技巧和注意事项,需要的朋友参考一下 背景 java程序员一般写的是后端服务是JavaWeb类型的项目,主要包括Http接口和dubbo接口,Http接口一般采用的rest风格,那么如何快速的对rest接口在第三方的测试框架上进行测试呢? rest-assure
问题内容: 是否可以在Java中定义私有抽象类?Java开发人员将如何编写如下的构造? 问题答案: 您不能使用Java中的方法。 当方法为时,子类无法访问它,因此它们无法覆盖它。 如果您想要类似的行为,则需要方法。 这是一个编译时错误,如果包含该关键字的方法声明中还包含关键字的任意一个,,,,,或。 和 子类不可能实现方法,因为方法不是子类继承的。因此永远不能使用这种方法。 资源: JLS-8.4
是否可以实现一个接口,然后在重写方法时,使方法私有或受保护?
问题内容: 指示方法声明旨在覆盖超类中的方法声明。如果使用此注释类型对方法进行注释但未覆盖超类方法,则要求编译器生成错误消息。 我认为接口从技术上讲不是超类。还是? Question Elaboration 问题答案: 你应该尽可能使用@Override。它可以防止犯下简单的错误。例: 由于无法正确覆盖,因此无法编译。 实现接口(仅限1.6及更高版本)或重写Super类的方法的方法也是如此。
Override Method可以实现接口方法也可以覆写父类的方法,但Implement Methods只能实现接口方法 操作步骤: 菜单栏: Code —> Implement Methods 快捷键: Mac: control + L Windows\/Linux: Ctrl + I
问题内容: 我有一个定义方法的接口。我有一个 实现 此接口的结构。在其中,我已经从该接口实现了方法,并且还定义了其他方法。 例如: 在操场上:https : //play.golang.org/p/B1GgoNToNl_l 在此,WagTail()不是Animal接口的一部分,但属于Dog结构。运行此代码会出现错误 dog.WagTail未定义(动物类型没有字段或方法WagTail)。 有没有一种
本文向大家介绍Java接口定义与实现方法分析,包括了Java接口定义与实现方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java接口定义与实现方法。分享给大家供大家参考,具体如下: 在java中,我们可以通过继承得到另一个类中的方法,但是这个仅仅满足继承一个方法,那有办法可以多个继承不,就好比,我们人类的基因,总有一部分是继承爸爸,一部分是继承妈妈,而java中有是单继承,那我们