MST

星途 面试题库

面试题:Java中工厂模式在基础类中的应用

请阐述Java中工厂模式的概念,并举例说明如何在Java基础类(如集合框架相关类)的创建场景中应用工厂模式。
45.9万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试

工厂模式概念

工厂模式是一种创建型设计模式,它提供了一种创建对象的方式,将对象的创建和使用分离。通过使用工厂模式,可以将对象的创建逻辑封装在一个工厂类中,而不是在客户端代码中直接实例化对象。这样可以提高代码的可维护性和可扩展性,当需要创建新的对象类型时,只需要修改工厂类,而不需要修改所有使用该对象的客户端代码。

在Java集合框架相关类创建场景中的应用举例

以创建 List 集合为例,java.util.Arrays 类中的 asList 方法就可以看作是工厂模式的应用。

import java.util.Arrays;
import java.util.List;

public class FactoryPatternExample {
    public static void main(String[] args) {
        // 使用工厂方法创建List
        List<String> list = Arrays.asList("apple", "banana", "cherry");
        System.out.println(list);
    }
}

在上述代码中,Arrays.asList 方法就像是一个工厂方法,它负责创建 List 对象。客户端代码只需要调用这个方法,而不需要关心 List 对象具体是如何创建的,这使得代码更加简洁,并且将对象的创建逻辑封装在 Arrays 类中。 另外,Collections 类中的一些静态方法如 Collections.singletonList 也是类似的应用,用于创建一个只包含指定元素的不可变 List

import java.util.Collections;
import java.util.List;

public class AnotherExample {
    public static void main(String[] args) {
        List<String> singletonList = Collections.singletonList("single element");
        System.out.println(singletonList);
    }
}

这里 Collections.singletonList 作为工厂方法创建了特定类型的 List 对象,隐藏了对象创建的具体实现细节。