欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Java面試單利和工廠

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

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

單利

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

下面是一個單例類的實現(xiàn):

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

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

工廠

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

下面是一個簡單的工廠類的實現(xiàn):

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是一個工廠類,它根據(jù)傳入的參數(shù)來創(chuàng)建不同的動物對象。Animal是一個接口,定義了不同動物的行為,而具體的類DogCat實現(xiàn)了這個接口。

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