java – 抽象类和具体类之间的独特区别
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 抽象类和具体类之间的独特区别,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1066字,纯文字阅读大概需要2分钟。
内容图文
我知道抽象类和具体类之间的差异很小.我知道你不能用具体类创建一个抽象类的实例,抽象类可以有’抽象’方法.
但我有一个像下面这样的例子.很多时候,我们看到以下示例正在起作用.我将跳过一些可以在Parent类中定义的常用方法.
public abstract class Parent {
public void init() {
doInit();
}
public abstract void doInit();
}
public class Child extends Parent {
public void doInit() {
// implementation
}
}
我认为我们可以用如下的具体类做同样的事情.
public class Parent {
public void init() {
doInit();
}
public void doInit() {
// Empty
}
}
我很想知道是否有任何独特的情况我们必须使用抽象类.运行期间是否与上述示例有任何显着差异?
谢谢.
解决方法:
在这种情况下使用抽象类的原因是强制每个继承基类的人都覆盖抽象的doInit方法.如果没有类和方法是抽象的,他们可能会忘记这样做,编译器也不会捕获它们.
除了这种实用的目的,抽象类提供了一种强大的方式来将您的设计理念传达给代码的读者.抽象类告诉读者,内部方法为一组相关类提供了一些通用实现,而不是实现您正在建模的单个概念.经常向读者传达您的意图与编写正确的代码一样重要,因为否则他们可能会在维护代码时破坏某些内容.
在Java中习惯于调用抽象类Abstract …;在您的示例中将是AbstractParent.
内容总结
以上是互联网集市为您收集整理的java – 抽象类和具体类之间的独特区别全部内容,希望文章能够帮你解决java – 抽象类和具体类之间的独特区别所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。