//@clashbyte
class Main {
public static void main(String[] args) {
System.out.println("=========not a Singleton===========");
Student student1=new Student();
System.out.println(student1.hashCode()); // 1252169911
Student student2=new Student();
System.out.println(student2.hashCode()); // 2101973421
System.out.println("=========Singleton===========");
Singleton singleton1=Singleton.getInstance();
System.out.println(singleton1.hashCode());
Singleton singleton2=Singleton.getInstance();
System.out.println(singleton2.hashCode());
}
}
public class Singleton{
private static Singleton instance = null;
// هذا المشيد يجب لا يحب الوصول اليه من خارج الكلاس
//و بهذا نضمن عدم انشاء كائنين من الكلاس
private Singleton(){
// بعض الاكواد
System.out.println("Create New Student Object");
}
//
public static Singleton getInstance(){
//نتحقق من وجود الكائن في المتغير
// في حالة كان المتغير فارغ نقوم بانشاء كائن جديد
if (instance == null)
instance = new Singleton();
// نقوم باعادة المتغير
return instance;
}
}
public class Student{
public Student(){
// بعض الاكواد
System.out.println("Create New Student Object");
}
}