知识点
单例设计模式
1.不允许用户创建这个类的一个对象 将类的构造方法私有化
2.在自己的类里提供创建对象的方法
数组里保存的都是对象的引用
改变数组里面对象的值
原始对象的值也改变
因为代价都指向同一个内存空间
Collection.shuffle(); 打乱数组顺序
技术的使用
public class MyClass {
public static void main(String[] args){
//1.正常情况下创建一个对象
Poker.shared.test();
Player.getInstance().count += 1;
Player p =Player.getInstance();
p.count +=1;
Player p2 =Player.getInstance();
p2.count +=1;
System.out.println(p2.count);
}
}
class Poker{
//1.默认构造函数
private Poker(){};
//default,sharedInstans,manager
//2.定义一个静态的成员变量 记录最高单例对象
//饿汉式 管你用不用先创建
public static final Poker shared = new Poker();
public void test(){
}
}
class Player{
public int count;
//1.私有化
private Player(){};
//2.创建静态变量
private static Player shared = null;
//3.提供给外部一个访问的方法
//懒汉式 用的时候才创建
public static Player getInstance (){
Object b = new Object();
synchronized (b) {
if (shared == null) {
//如果没有创建 那么就创建一个
shared = new Player();
}
}
return shared; }
}
class Test2{
public static void main(String[] args){
//泛型
ArrayList<Person> people = new ArrayList<>();
//获取数组元素个数
people.size();
//添加数据
Person xw = new Person();
people.add(xw);
Person zs = new Person();
people.add(zs);
//访问数据
Person xw2 = people.get(0);
xw2.name = "小王";
System.out.println(xw.name);
//LinkedList 双链表
}
}
class Person{
public String name;
}
随笔
今天好累,去打球放松一下