网站首页 > 精选教程 正文
接口方法私有化的作用
当我们在一个接口里写多个默认方法或者静态方法的时候,可能会遇到程序重复的问题。我们可以把这 些重复的程序提取出来,创建一个新的方法,用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-01-29 2020年Java程序员应该掌握的10个新技术
- 2025-01-29 对JAVA的理解及未来的发展方向(说说你对java的理解)
- 2025-01-29 浅谈 Java 列表(List)的初始化方法
- 2025-01-29 简单了解下JMM解决什么问题(hmm解决的3个问题)
- 2025-01-29 Java 19 的主要新特性和代码演示,虚拟线程
- 2025-01-29 Java 21 新特性的实践,确实很丝滑!
- 2025-01-29 JDK8-20新特性全面总结,3分钟快速掌握!
- 2025-01-29 Java——永存、曲折、低谷、重生!
- 2025-01-29 Java 16 正式发布,新特性一一解析
- 2025-01-29 Java 21 新特性和改进(java新特性需要学吗)
你 发表评论:
欢迎- 07-10动漫人物像|插画 壁纸 头像 签名 素材
- 07-10运动人物|插画 壁纸 头像 签名 素材
- 07-10动漫人物|插画 壁纸 头像 签名 素材
- 07-10神话人物|插画 壁纸 头像 签名 素材
- 07-10日漫人物像|插画 壁纸 头像 签名 素材
- 07-10 日漫人物|插画 壁纸 头像 签名 素材
- 07-10日漫人物风|插画 壁纸 头像 签名 素材
- 07-10日漫人物|插画 壁纸 头像 签名 素材
- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)