mat*_*t b 15
这篇文章的主题和正文提出了两个不同的问题:
#2的答案肯定是否定的.
#1的答案是主观的,是一种风格问题.我个人会说是的.如果你的目的是防止一个类(没有抽象方法)被实例化,处理它的最好方法是使用构造函数,而不是通过标记它.privateprotectedabstract
Tom*_*ine 10
在JDK 1.0中,确实需要在抽象类中至少有一个抽象方法.在JDK 1.1(1997?(我很老))中删除了这个限制,并将这些类添加到Java库中,例如java.awt.event.KeyAdapter.
在C++中,您需要至少一个纯虚函数来创建必需的子类,并且至少需要一个虚函数来将RTTI添加到类中.通常,使用析构函数是有意义的.
注意,当重写非抽象方法时,使用@Override是个好主意.它不仅告诉读者有关代码尝试执行操作的重要信息,还会发现拼写错误或不正确的参数类型阻止覆盖的常见错误.
不 - 你可以在没有任何抽象方法的情况下声明一个类摘要.对于该类的实例存在概念上可能没有任何意义,或者您可能希望确保只能实例化该类的子类(无论出于何种原因)