Java中的抽象类是无法实例化的类,这意味着我们无法创建抽象类的新实例。抽象类的目的是充当子类的基础。 但是为什么java允许在抽象类中定义数据成员,在那里我们不能创建抽象类的对象。
答案 0 :(得分:1)
但是你可以拥有可以创建实例的具体类。假设您有抽象类Animal
- 每个动物都有一个Color
- 所以你把它保留为基类的成员,尽管你不能创建一个简单的Animal
(您可以创建Dog
或Cat
想法,但两者都有颜色。)
答案 1 :(得分:0)
抽象类可以通过其他具体类进行扩展。这些cocrete类可以使用此数据成员。
抽象类只是无法实例化的类,但它们可能有一些共同的逻辑和公共成员变量,所有具体的类都应该包含这些变量。
答案 2 :(得分:0)
我们有一个名为Shape(形状为正方形,圆形,矩形)的Abstract类,其中Square,圆形和矩形是扩展Abstract类Shape的子类。假设我们正在计算不同形状的面积,其中面积(字段/变量)对于所有子类都是公共的。因此,它可以在Abstract类中声明而不是在每个子类中声明。