每日五题-Java面试题220911

1、接口是什么? 为什么要使用接口而不是直接使用具体类?

接口用于定义 API。 它定义了类必须得遵守的规则。同时,它提供了一种抽象,因为客户端只使用端口,这样可以有多重实现,如List接口、你可以使用可随机访问的ArrayList,也可以使用方便插入和删除的LinkedList。接口中不允许写代码,以此来保证抽象,但是 Java8中可以在接口声明静态的默认方法 ,这种方法是具体的。

2、Java 中,抽象类与接口之间有什么不同?

java中,抽象类和接口有很多不同之处,但是最重要的一个是 Java 中限制了一个类只能继承一个类,但是可以实现多个接口。抽象类可以很好的定义一个家族类的默认行为,而接口能更好的定义类型,有助于后面实现多态机制。、

3、除了单例模式,你在生产环境中还用过什么设计模式?

这需要根据你的经验来回答。一般情况下,你可以说依赖注入、工厂模式、装饰模式或者观察者模式,随意选择你使用过的一种即可。

4、你能解释一下里氏替换原则吗?

首先,这是编译器的要求,如果不这么做,无法通过编译。其次,面向对象的编程,其中继承有个打原则,任何子类的对象都可以当成父类的对象使用。

5、什么情况下会违反迪米特法则?为什么会有这个问题?

迪米特法则建议“只和朋友说话,不要和陌生人说话”,以此来减少类之间的耦合。

源链接-掘金

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值