接口私有方法使用

 1 package Port;
 2 /*
 3     问题描述:
 4     我们需要抽取一个共有方法,用来解决两个默认方法之间的重复代码的问题。
 5     但是这个共有方法不应该让实现类使用,应该是私有化的。
 6
 7     解决方案:
 8     从java 9开始,接口当中允许定义私有方法。
 9     1.普通私有方法,解决多个默认方法之间代码重复问题
10     格式:
11     private 返回值类型 方法名称 (参数列表){
12         方法体
13     }
14     2.静态私有方法,解决多个静态方法之间重复代码的问题
15     private static 返回值类型 方法名称(参数列表){
16         方法体
17     }
18  */
19 public interface InterfacePrivate {
20     public default void Mehtod1(){
21         System.out.println("默认方法1");
22     }
23     public default void Mehtod2(){
24         System.out.println("默认方法2");
25
26     }
27     private void Coommand(){
28         System.out.println("AAA");
29         System.out.println("BBB");
30         System.out.println("CCC");
31     }
32 }

原文地址:https://www.cnblogs.com/bingquan1/p/12655335.html

时间: 2024-08-30 13:37:11

接口私有方法使用的相关文章

java基础 接口私有方法

1 /** 2 * 问题描述: 3 * 我们需要抽取一个共有方法,用来解决两个默认方法之间重复代码的问题 4 * 但是这个共有方法不应该让实现类使用,应该是私有化的. 5 * 6 * 解决方案: 7 * 从java 9开始,接口当中允许定义私有方法. 8 * 1.普通私有方法,解决多个默认方法之间重复代码问题 9 * 格式: 10 * private 返回值类型方法名称(参数列表){ 11 * 方法体 12 * } 13 * 2.静态私有方法,解决多个静态方法之间重复代码的问题 14 * 格式:

用PowerMockito来mock私有方法(转)

话说我们做的所谓的接口测试真的是不伦不类啊,测的是controller层,那叫接口木??!!可是老大们说写的是接口测试,那就接口吧! 自接手写这个接口测试不久,很多人,包括一个关系比较好的架构师就跟我说,写这个很麻烦啊,代码很乱,你得mock一堆. 既然已经跳进去了,那就游一会儿吧.为了mock,可谓想尽了办法啊,从一般的mock工具mockito,到java的反射,最后发现一个强大的工具——PowerMockito   他居然能够mock私有方法.虽然,最后被老大们说私有方法是不应该mock的

Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API

不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权限修饰符,默认访问, 类,方法,成员变量 private 权限修饰符,私有访问, 方法,成员变量 static 静态修饰符 方法,成员变量 final 最终修饰符 类,方法,成员变量,局部变量 abstract 抽象修饰符 类 ,方法 我们编写程序时,权限修饰符一般放于所有修饰符之前,不同的权限修饰

PHP通过反射方法调用执行类中的私有方法

PHP 5 具有完整的反射 API,添加了对类.接口.函数.方法和扩展进行反向工程的能力. 下面我们演示一下如何通过反射,来调用执行一个类中的私有方法: <?php //MyClass这个类中包含了一个名为myFun的私有方法class MyClass {        private $tmp = 'hello';        private function myFun()    {        echo $this->tmp . ' ' . 'world!';    }} //通过类

第20条:为私有方法名加前缀

本条要点:(作者总结) 给私有方法的名称加上前缀,这样可以很容易地将其同公共方法区分开. 不要单用一个下划线做私有方法的前缀,因为这样做法是预留给苹果公司用的. 一个类所做的事情通常都要比从外面看到的更多.编写类的实现代码时,经常要写一些只在内部使用的方法.笔者建议,应该为这种方法的名称加上某些前缀,这有助于调试,因为据此很容易就能把公共方法和私有方法区别开. 为私有方法名加前缀还有个原因,就是便于修改方法名或方法签名.对于公共方法来说,修改其名称或签名之前要三思,因为类的公共 API 不便随意

python私有方法和私有属性属性理解

私有属性.方法--Python并没有真正的私有化支持,但可用下划线得到伪私有尽量避免定义以下划线开头的变量   (1)_xxx      "单下划线 " 开始的成员变量叫做保护变量,意思是只有类对象(即类实例)和子类对象自己能访问到这些变量,需通过类提供的接口进行访问:不能用'from module import *'导入   (2)__xxx    类中的私有变量/方法名 (Python的函数也是对象,所以成员方法称为成员变量也行得通.)," 双下划线 " 开始的

Java使用序列化的私有方法巧妙解决部分属性持久化问题

部分属性持久化问题看似很简单,只要把不需要的持久化的属性加上瞬态关键字(transient关键字)即可,没错,这也是一种解决方案,但在有的时候行不通,例如在一个计税系统和人力系统对接的时候,计税系统需要从人力系统获得人员的姓名和基本工资,作为纳税的一句,而人力系统的工资分成 分成两个部分:基本工资和绩效工资,基本工资没有什么秘密,一般都是直接跟年限挂钩,但是绩效工资一般来说是保密的,不能泄露到外系统,话不多说,上代码 import lombok.AllArgsConstructor; impor

使用PowerMockito和Mockito进行模拟测试,包括静态方法测试,私有方法测试等

依赖:这个很重要,不同版本用法也有点区别: <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>2.0.2-beta</version> <scope>test</scope> </dependency> <dependency> <group

接口中方法的使用

抽象方法的使用 接口中的抽象方法注意就是供子类(实现类)重写的 注意: 接口的实现类如果是普通类,那么必须重写接口中的所有抽象方法 接口的实现类如果是抽象类,那么可以不用重写接口中的抽象方法 必须全部实现,代码如下: 定义接口: public interface LiveAble { // 定义抽象方法 public abstract void eat(); public abstract void sleep(); } 定义实现类: public class Animal implements