【发布时间】:2021-11-02 14:08:25
【问题描述】:
为什么我不能在我的 circle 类中使用变量 shapeArea?我正在尝试第一次使用 is-a 关系和 has-a 关系构建一个系列类。空类还没有真正的用途。我只是想看看我是否可以为最终保存我的代码的内容创建基本框架。
public class Object {
}
class shape extends Object{
}
class area{
public double area;
}
class TwoDshape extends shape{
area shapeArea = new area();
}
class circle extends TwoDshape{
shapeArea.area = 1;
}
【问题讨论】:
-
可以,但必须在方法或构造函数中或在适当的 init 块中这样做。
-
定义“不能使用”。您仍然需要使用有效的 Java——有一些语言规则定义了您可以在何处/如何使用变量和任意代码。
-
另外,请忘记“is-a relationship”这个词。它弊大于利。更好的继承概念是Liskov substitution principle。
-
类名以大写字母开头。请不要拨打多个电话
area。不要创建自己的名为Object的类。你的名字让你的代码更加难以推理。 -
你想达到什么目的?
标签: java inheritance composition