static实现的 singleton(单例)设计模式

/** static实现的 singleton设计模式 , 使得一个类只能够创建一个static对象
*/

模板设计结构:

package Coding;
public class Main_of_Coding {
public static void main(String[] args) {
Singleton s1=Singleton.getInstance();
Singleton s2=Singleton.getInstance();
System.out.println(s1==s2); //true
}
}
class Singleton{
//1.首先私有构造器,使得外部的类不能够使用此构造器
private Singleton() {
}
//2.在类内部创建一个私有的实例对象,该对象私有(仅开放方法调用此对象),static保持此对象唯一
private static Singleton instance = new Singleton(); public static Singleton getInstance() {
return instance;
} }

static的笔记:

/**static 修饰属性(类变量):
* 1.由类创建的所有的对象,都公用这一个属性; 当其中一个对象对此属性进行修改,会导致其他对象对此进行修改
* 2.既不在栈空间,也不在堆空间, 在一块公共的静态空间.
* 3.可以直接 Class名.静态变量 调用! (不同于其他变量, static变量独立于类本身存在)
* 4.在自己类内调用,不用加this()!
*
* Static 修饰方法(基本同static 属性)
*/

代码:

package Coding;
public class Main_of_Coding {
public static void main(String[] args) {
Sportsman s1=new Sportsman("Jane",12);
Sportsman.show();
s1.nation="China";
System.out.println(s1.nation+ " \n"+Sportsman.nation);
s1.show();
}
}
class Sportsman{
String name;
int age;
static int num;//统计调用次数
static String nation;
public Sportsman(String name,int age){
this.name=name;
this.age=age;
}
static void show(){
System.out.println("调用了 "+num+"次, 这是一个静态方法! ");
num++;
}
}

运行结果:

调用了 0次, 这是一个静态方法!
China
China
调用了 1次, 这是一个静态方法!

最新文章

  1. node.js+socket.io配置详解
  2. 16-网易-intership
  3. Bat文件, Services
  4. 后缀树(BZOJ3238TLE)
  5. js 实现动态key value(JSON字符串注意事项:key和value都要用双引号,官网指定用双引号)
  6. 微信公众号开发中遇到的几个bug
  7. HDU 1241 (DFS搜索+染色)
  8. Knockout.Js官网学习(text绑定)
  9. asp.net中@ Import 命令的使用
  10. 【译】ASP.NET MVC 5 教程 - 6:通过控制器访问模型的数据
  11. [国嵌攻略][061][2440LCD驱动设计]
  12. windows10远程桌面连接身份验证错误:函数不受支持,这可能是由于 CredSSP 加密 Oracle 修正
  13. IMCASH:2019年区块链不会风平浪静,至少还有10件事值得期待
  14. Linux进程管理的学习
  15. Python :数据结构
  16. [Unity3D]Unity3D游戏开发之角色控制漫谈
  17. hibernate的入门crud
  18. ARP 询问之 校级路由器的猫腻
  19. CodeForces - 992D Nastya and a Game
  20. Fineui往框架添加选项卡的方法

热门文章

  1. SPSS 2019年10月31日 20:20:53今日学习总结
  2. Matlab绘制阶梯形图
  3. linux shell中的EOF
  4. Word 查找替换高级玩法系列之 -- 用替换功能删除空白区域
  5. Django导出数据为Excel,调用浏览器下载
  6. python — 表的操作(二)
  7. 20191011-构建我们公司自己的自动化接口测试框架-ProVar模块
  8. Django自定义分页并保存搜索条件
  9. (二)Struts.xml文件详解
  10. ASP.NET Core 3.0 入门