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

Java面試單利和工廠

孔世廣1年前7瀏覽0評論

在Java面試中,單利和工廠是兩個非常常見的概念,下面我們來分別介紹它們。

單利

單利是指一個類在整個應用程序中只能存在一份實例,又叫做單例模式。它可以在多個線程中共享,是多線程編程中常用的設計模式。

下面是一個單例類的實現:

public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}

在這個示例中,Singleton類有一個私有的構造函數,這意味著它不能在類外部被實例化。我們使用一個靜態成員變量instance來保存類的唯一實例,同時還有一個靜態方法getInstance用來獲取這個實例。

工廠

工廠是另一個常見的設計模式,用于將對象的創建和使用分離。工廠可以隱藏具體類的實現,使得客戶端代碼只依賴于接口而不是具體的類。

下面是一個簡單的工廠類的實現:

public class AnimalFactory {
public static Animal getAnimal(String type) {
if (type.equalsIgnoreCase("dog")) {
return new Dog();
} else if (type.equalsIgnoreCase("cat")) {
return new Cat();
} else {
return null;
}
}
}
interface Animal {
void speak();
}
class Dog implements Animal {
@Override
public void speak() {
System.out.println("汪汪");
}
}
class Cat implements Animal {
@Override
public void speak() {
System.out.println("喵喵");
}
}

在這個示例中,AnimalFactory是一個工廠類,它根據傳入的參數來創建不同的動物對象。Animal是一個接口,定義了不同動物的行為,而具體的類DogCat實現了這個接口。

使用工廠模式,客戶端可以根據需要調用AnimalFactory.getAnimal()方法來獲取不同的動物對象,而無需關心具體實現。