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/

最新文章

  1. activity与fragment之间传递数据
  2. Unity依赖注入使用详解
  3. HyperDock,让Mac的窗口飞
  4. 【2016-10-11】【坚持学习】【Day2】【代理模式】
  5. EF-error 0152: No Entity Framework provider found...
  6. Java 将字节数组转化为16进制的多种方案
  7. 常用PHP函数
  8. 十二个 ASP.NET Core 例子——配置操作
  9. Opencv(C++)实现二阶线性插值
  10. FileInputStream与BufferedInputStream的对比
  11. 剑指Offer 2. 替换空格 (字符串)
  12. Dockerfile里指定执行命令用ENTRYPOING和用CMD有何不同?
  13. 前端不容错过的jQuery图片滑块插件
  14. ioS UI-导航控制器(NavigationController)
  15. socket 请求接收完整的一个http响应(设置recv 接收超时选项SO_RCVTIMEO)
  16. KT板
  17. SQL单行函数和多行函数
  18. net core 的Generic Host 之Generic Host Builder
  19. python3 简单服务器监控,自动发送邮件
  20. CAD绘制一个角度标注(com接口VB语言)

热门文章

  1. 用 Deployment 运行应用【转】
  2. ArcMap所有Command GUID
  3. js parse_url 引发的
  4. webuploader项目中多图片上传实例
  5. Bootstrap历练实例:响应式导航栏
  6. 简单css动画 fadeIn fadeOut flash
  7. vue axios 请求本地接口端口不一致出现跨域设置代理
  8. Java 的访问权限
  9. 初涉「带权并查集」&&bzoj3376: [Usaco2004 Open]Cube Stacking 方块游戏
  10. Linux系统状态检测