常见设计模式面试题

1、写出常用的设计模式,如单例、工厂、装饰者、观察者等模式,分别介绍他们运用的场景

2、关于标准的JDK库中使用的一些设计模式

Decorator设计模式常被用于各种Java IO类中

Singleton模式常被用在运行环节中,Calendar以及各种其他类

Factory(工厂)模式常被用于各种不可变类,比如Boolean。Boolean.valueOf

Observer模式常被用于Swing和许多事件监听器框架中。

3. 在Java中Singleton设计模式是什么?为线程安全Singleton编码。

Singleton模式在整个系统中主要是共享模式。在整个应用程序实例中只保持一个特定的类,这是由所以模块共享决定的。Java.lang.Runtime是Singleton设计模式中一个典型范例。从Java 5版本开始,你可以为安全线程singleton模式使用enum

4. 举例说明你什么时候会用抽象类,什么时候更愿意使用接口?

  • 抽象类是一种模板,而接口是一种规范
  • 在Java中,你只能继承一个类,但实现多个接口。所以你继承一个类的时候就无法再继承别的类了。
  • 接口是用来代表形容词或行为,例如Runnable、Clonable、Serializable等。因此,如果您使用一个抽象类来实现Runnable和Clonacle,你就不可以使你的类同时实现这两个功能,而如果接口的话就没问题。
  • 抽象类是比接口稍快,所以很在乎时间的应用尽量使用抽象类。
  • 如果多个继承层次的共同行为在在同一个地方编写更好,那么抽象类会是更好的选择。有时候可以在接口里定义函数但是在抽象类里默认功能就能实现接口和抽象类共同工作了。




  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值