Java设计模式面试精选题目及答案解析
一、什么是设计模式?
设计模式是针对软件设计中常见问题的通用可重用解决方案。
设计模式可以加速开发过程,提供了经过测试,证明有效的问题解决策略。
二、请列举并简述常见的设计模式
设计模式通常分为三大类:创建型、结构型和行为型。
三、什么是单例模式?请编写一个单例模式的例子
单例模式是一种创建型设计模式,它保证一个类只有一个实例,并提供一个全局访问点。
以下是一个使用Java编写的单例模式的例子:
public class Singleton { private static Singleton instance; private Singleton() {} public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
四、请解释观察者模式并给出一个实例
观察者模式是一种行为设计模式,它定义了对象之间的依赖关系,当一个对象状态改变时,所有依赖于它的对象都会自动得到通知。
这种模式常用于实现事件处理系统。
Java内置了观察者模式的实现,可以通过java.util.Observable类和java.util.Observer接口实现。
以下是一个简单的观察者模式实例:
import java.util.Observable; import java.util.Observer; class MessageBoard extends Observable { private String message; public String getMessage() { return message; } public void changeMessage(String message) { this.message = message; setChanged(); notifyObservers(message); } } class Student implements Observer { private String name; public Student(String name) { this.name = name; } @Override public void update(Observable o, Object arg) { if (o instanceof MessageBoard){ MessageBoard messageBoard = (MessageBoard) o; System.out.println("Student " + name + " received message: " + messageBoard.getMessage()); } } }
这些只是Java设计模式的一部分,理解和掌握这些模式可以帮助开发者更好地设计和实现更优秀的软件系统。