乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
JAVA 0.001 把构造器设置成私有来实现一些逻辑
2018-07-31 07:03:11
47
0
0
admin
> 比如限制对象的个数 * 构造器是私有的,所以不能xx obj = new xx() 来创建对象。 * 通过一个静态方法来调用构造器。 **限制对象的个数** ``` import java.util.*; public class test{ public static void main(String[] args){ for (int i=0;i<5;i++) { obj a = obj.create_obj(); if (a == null) {System.out.println("null");} else {System.out.println("no null");} } } } class obj{ static private int number_limit=0; private obj(){ System.out.println("Create new obj"); } static obj create_obj(){ if (number_limit < 3){ number_limit++; return new obj(); } else { return null; } } } ``` **控制软件有且仅有一个该对象** ``` import java.util.*; public class test{ public static void main(String[] args){ obj a = obj.get_obj(); a.num = 1; obj b = obj.get_obj(); System.out.println(b.num); } } class obj{ int num = 0; private static obj the_obj = new obj(); private obj(){ System.out.println("Create new obj"); } public static obj get_obj(){ return the_obj; } } ```
上一篇:
JAVA 0.00 概念介绍
下一篇:
JAVA 0.002 内部类
文档导航