java私有构造函数
2024-09-07 00:05:25
1. 强调类的单例模式
public class Elvs {
//公有的静态域,来说明该类只能有一个实例(实例化一次后,后面都是同一个实例)
public static final Elvs INSTANCE=new Elvs();
private Elvs(){}//将构造函数定义为私有变量后,就不能在外部去调用构造函数实例化类了
public void sys() {
System.out.println("******");
}
}
public class Main {
public static void main(String[] args){
Elvs elvs=Elvs.INSTANCE;
elvs.sys();
}
}
注意上面的代码中,在其他的外部类中去实例化Elvs时,只能通过静态变量INSTANCE
public class Elvs {
private static final Elvs INSTANCE = new Elvs();
private Elvs() {}
public static Elvs getInstance() {return INSTANCE;}
public void sys() {
System.out.println("******");
}
}
public class Main {
public static void main(String[] args){
Elvs elvs=Elvs.getInstance();
elvs.sys();
}
}
根据静态方法来获取类的实例,也是只能获取一个实例,实现单例模式
2. 通过类的私有构造函数来强调类的不可实例化
例如在实际的应用中,工具类,或者整个工程的常量类,在类中只有静态常量,
这时我们可以在类中去定义一个私有的构造函数,然后在类中不去调用它,这样
在其他的类处就不能实例化这个常量类了。
参考:
https://blog.csdn.net/u013126379/article/details/57463285/
最新文章
- activity与fragment之间传递数据
- Unity依赖注入使用详解
- HyperDock,让Mac的窗口飞
- 【2016-10-11】【坚持学习】【Day2】【代理模式】
- EF-error 0152: No Entity Framework provider found...
- Java 将字节数组转化为16进制的多种方案
- 常用PHP函数
- 十二个 ASP.NET Core 例子——配置操作
- Opencv(C++)实现二阶线性插值
- FileInputStream与BufferedInputStream的对比
- 剑指Offer 2. 替换空格 (字符串)
- Dockerfile里指定执行命令用ENTRYPOING和用CMD有何不同?
- 前端不容错过的jQuery图片滑块插件
- ioS UI-导航控制器(NavigationController)
- socket 请求接收完整的一个http响应(设置recv 接收超时选项SO_RCVTIMEO)
- KT板
- SQL单行函数和多行函数
- net core 的Generic Host 之Generic Host Builder
- python3 简单服务器监控,自动发送邮件
- CAD绘制一个角度标注(com接口VB语言)