JAVA单例模式
概念
- 创建了一个类,该类负责创建自己作为对象,同时要确保只有单个对象被建立。
- 上述类中提供一个访问的方式,且该类不需要被重写。
- 该类型可以定义变量,并利用get、set方法,但是构建的无参函数必须私有化。
下例
- 创建Teacher类,该类中私有化创建对象instance 其类型为 Teacher
- 生成instance对象的get、set方法,类型为Teacher
- 编写该对象的特定方法
- 创建学生类Student,主方法下创建teacher对象,并引用为Teacher中的getInstance方法。
- 调用方法
Teacher类
package 单例;
//单例下学生只能由一个老师传授知识
public class Teacher {
private String name;
private static Teacher instance = new Teacher();
private Teacher(){}
public static synchronized Teacher getInstance() {
if(instance == null){
instance = new Teacher();
}
return instance;
}
public static void setInstance(Teacher instance) {
Teacher.instance = instance;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Teacher(String name) {
this.name = name;
}
public void teach(){
System.out.println(name+"老师正在上课");
}
}
学生类
package 单例;
public class Student {
public static void main(String[] args) {
Teacher teacher = Teacher.getInstance();
Teacher.getInstance().setName("老师");
teacher.teach();
}
}