java限定符_Java基础 static限定符的使用 以及【 static实现的 singleton(单例)设计模式】...

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

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

模板设计结构:

packageCoding;public classMain_of_Coding {public static voidmain(String[] args) {

Singleton s1=Singleton.getInstance();

Singleton s2=Singleton.getInstance();

System.out.println(s1==s2); //true

}

}classSingleton{//1.首先私有构造器,使得外部的类不能够使用此构造器

privateSingleton() {

}//2.在类内部创建一个私有的实例对象,该对象私有(仅开放方法调用此对象),static保持此对象唯一

private static Singleton instance = newSingleton();public staticSingleton getInstance() {returninstance;

}

}

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次, 这是一个静态方法!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值