色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java 單實例 和多實例

錢多多1年前8瀏覽0評論

在Java中,我們經(jīng)常會遇到單實例和多實例的情況。單實例是指只有一個對象實例,而多實例則是指有多個對象實例。

// 單實例
public class Singleton {
private static Singleton instance;
private Singleton(){} // 防止被實例化
public static Singleton getInstance() {
if(instance == null) {
instance = new Singleton();
}
return instance;
}
}
// 多實例
public class Animal {
private String name;
private int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
// 省略getter和setter方法
}

單實例常用于數(shù)據(jù)庫連接、日志記錄等對象,這些對象只需要一個實例即可滿足需求。我們通過在類中定義一個靜態(tài)變量來存儲對象實例,并提供一個公共的方法來獲取該實例。這個方法被聲明為靜態(tài)方法,所以我們可以通過類名來調(diào)用該方法。

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

多實例則是根據(jù)實際需求,需要創(chuàng)建多個對象實例。我們可以通過構(gòu)造函數(shù)傳遞參數(shù)來創(chuàng)建多個不同的實例。

Animal a1 = new Animal("cat", 3);
Animal a2 = new Animal("dog", 2);
System.out.println(a1.getName() + " " + a1.getAge()); // cat 3
System.out.println(a2.getName() + " " + a2.getAge()); // dog 2

在實際開發(fā)中,我們需要根據(jù)需求來選擇使用單實例或多實例。當需要共享一個公共的資源時,我們可以使用單實例來實現(xiàn)。而當我們需要創(chuàng)建多個對象實例時,則需要使用多實例的方式。