当前位置: 首页 > 面试题库 >

Java什么时候使用抽象类或接口?

孙钱青
2023-03-14
问题内容

为什么要创建抽象或接口类,或者何时应使用抽象或接口类?


问题答案:

仅在声明类必须具有的方法和成员时,才使用接口。实现该接口的任何人都必须声明和实现该接口列出的方法。

如果你还想拥有默认实现,请使用抽象类。扩展抽象类的任何类都必须仅实现其抽象方法和成员,并且将具有抽象类其他方法的一些默认实现,你可以覆盖或不重写。

-编辑-忘了提,Earwicker提醒我

最后,你可以根据需要实现任意数量的接口,但只能扩展一个类(是否抽象)。在选择之前,请记住这一点。



 类似资料:
  • 如果有人能给出我在Java15中需要在接口类和抽象类之间做出选择的1-2个场景示例,我将非常感激。此外,如果它能在现实生活中的项目,而不是动物或形状类的例子,将是伟大的。 谢谢!!

  • 问题内容: 我想知道何时应该使用接口。 让我们考虑以下内容: 和: 我可以轻松实现它们,它们具有相同的功能…但是我也可以向车辆类中添加一些变量,这些变量可能应该在车辆中使用(maxSpeed,carType …) 使用接口的原因是什么? 谢谢! 编辑: 我在另一个线程中找到了关于它的漂亮链接:http : //www.thecoldsun.com/en/content/01-2009/abstra

  • 问题内容: 奇怪的是: 似乎或多或少被定义为。通过这种方式很容易产生错误: 一些fname意外地以else块结尾。修复很简单,我们应该改用它,但是从表面上看,这似乎是一种不错的pythonic方式,并且比“正确”的方式更具可读性。 由于字符串是不可变的,所以为什么字符串错误是什么技术细节?什么时候进行身份检查更好,什么时候进行平等检查更好? 问题答案: 据我所知,检查对象身份是否相等。由于没有强制

  • 在Java8之前,我知道什么时候使用抽象类和接口,但是在Java8引入之后,可以在接口中提供默认和静态方法。接口和抽象类几乎是相似的,只是可以在抽象类中创建构造函数,而在接口中不能这样做。除此之外,我想知道在真实世界的例子中什么时候使用抽象类,什么时候使用Java8接口。

  • (1)接口 接口使用interface修饰; 接口不能实例化; 类可以实现多个接口; ①java8之前,接口中的方法都是抽象方法,省略了public abstract。②java8之后;接口中可以定义静态方法,静态方法必须有方法体,普通方法没有方法体,需要被实现; (2)抽象类 抽象类使用abstract修饰; 抽象类不能被实例化; 抽象类只能单继承; 抽象类中可以包含抽象方法和非抽象方法,非抽象

  • 问题内容: 使用弱引用是我从未见过的实现方式,因此,我试图弄清楚它们的用例是什么以及实现将如何工作。你何时需要使用WeakHashMap或WeakReference以及如何使用它? 问题答案: 强引用的一个问题是缓存,尤其是对于非常大的结构(如图像)而言。假设你有一个必须处理用户提供的图像的应用程序,例如我正在使用的网站设计工具。自然地,你想缓存这些图像,因为从磁盘加载它们非常昂贵,并且你希望避免