网站首页 > java教程 正文
接口方法私有化的作用
当我们在一个接口里写多个默认方法或者静态方法的时候,可能会遇到程序重复的问题。我们可以把这 些重复的程序提取出来,创建一个新的方法,用private进行修饰,这样就创造了一个只有接口可以调用 的私有方法。
package com.muziwk.dao;
public interface UserDao {
default void methodA(){
System.out.println("methodA...");
System.out.println("A....");
System.out.println("B....");
System.out.println("C....");
}
default void methodB(){
System.out.println("methodB...");
System.out.println("A....");
System.out.println("B....");
System.out.println("C....");
}
}
存在的问题:
以上代码的methodA与methodB存在着代码冗余问题,我们可以把这部分公共的方法抽 取成私有的方法提供给接口内部去使用。
接口私有方法的作用:
解决接口中默认方法与静态方法代码重复的问题
接口定义私有化方法
package com.muziwk.dao;
public interface UserDao {
default void methodA(){
System.out.println("methodA...");
commons();
}
default void methodB(){
System.out.println("methodB...");
commons();
}
//定一个私有的方法,把重复部分的代码抽离出来。然后在methodA与methodB方法内部去调
用。
//私有方法只能在本类中调用,这里包括接口的实现类也不能调用。
private void commons(){
System.out.println("A....");
System.out.println("B....");
System.out.println("C....");
}
}
测试代码
package com.muziwk.dao.impl;
import com.muziwk.dao.UserDao;
public class UserDaoImpl implements UserDao {
public static void main(String[] args) {
UserDaoImpl userDao = new UserDaoImpl();
userDao.methodA();
userDao.methodB();
}
}
小结
清楚接口方法私有化的目的?
解决静态或者是默认方法代码重复的问题。
如何在接口中定义私有化的方法以及调用?
在接口中使用private修饰方法即可。 在方法的内部去调用。
猜你喜欢
- 2025-07-08 对Spring MVC接口进行Mock测试(springmvc对外接口)
- 2025-07-08 还在用策略模式解决 if-else?Map+函数式接口方法才是YYDS
- 2025-07-08 干掉OpenFeign,SpringBoot 3.0 自带的 HTTP 客户端真香!
- 2025-07-08 java开发三年,Java中接口的使用你得知道,不然你凭什么涨薪
- 2025-07-08 Java的类与接口(java接口和接口实现类)
- 2025-07-08 如何理解Java中接口存在的意义(java中接口有什么用)
- 2025-07-08 面试:如何保证接口的幂等性?常见的实现方案有哪些?
- 2025-07-08 java实现接口防刷(java接口防刷策略)
- 2025-07-08 妙用Java 8中的 Function接口(java里function的作用)
- 2025-07-08 调用AI接口API,需要遵循以下步骤
你 发表评论:
欢迎- 最近发表
-
- 搞趣网:我的世界全新皮肤包原始居民下载地址
- 我的世界拔刀剑MOD下载(我的世界拔刀剑mod下载国际版)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- 一些可以显著提高大型 Java 项目启动速度的尝试
- 常见的java敏感异常介绍(java 常见的异常)
- Java 开发者必看!三招实现外部 Jar 包动态加载(含热更新方案)
- Java JAR 启动内存参数配置指南:从基础设置到性能优化
- 对Spring MVC接口进行Mock测试(springmvc对外接口)
- 还在用策略模式解决 if-else?Map+函数式接口方法才是YYDS
- 干掉OpenFeign,SpringBoot 3.0 自带的 HTTP 客户端真香!
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)