Java 关于类和对象关系

Java 关于类和对象关系,java,class,object,Java,Class,Object,我可以说这个类是构建对象的手册吗 我同意object是类的实例之一。但如果类定义的某些属性对于特定对象可能没有意义,例如,我有一个名为“Duck”的对象,它使用类“Bird”进行构建,但Duck不能飞行,因此如果我使用类“Bird”构建对象“Duck”。换句话说,本手册无法提供构建对象的指南 那么,我可以说类是一个用于构建对象的手册吗?手册应该提供用户需要的所有功能,以防里面没有任何缺陷 您同时混合了两种东西: 一方面,您必须知道类只是对象实例的某种模板,因为它将向您展示该对象的任何实例都可以执

我可以说这个类是构建对象的手册吗

我同意object是类的实例之一。但如果类定义的某些属性对于特定对象可能没有意义,例如,我有一个名为“Duck”的对象,它使用类“Bird”进行构建,但Duck不能飞行,因此如果我使用类“Bird”构建对象“Duck”。换句话说,本手册无法提供构建对象的指南


那么,我可以说类是一个用于构建对象的手册吗?手册应该提供用户需要的所有功能,以防里面没有任何缺陷

您同时混合了两种东西:

一方面,您必须知道类只是对象实例的某种模板,因为它将向您展示该对象的任何实例都可以执行的属性和方法。例如,您可以考虑“Car”类。每辆车都有不同的颜色和车牌号。这对我们来说是一个好的迹象,我们认为这两个可以成为类的属性

另一方面,您必须知道,有时类之间是相关的,您有一些工具来解决您的问题。这就是在您的示例中出现继承和接口的时候。你可以想象,任何一只鸭子都是鸟,但不是所有的鸟都是鸭子。因此,您可以在Bird(作为“父”类)和Duck(作为“子”类)之间建立类继承,因为Bird之间的许多行为都可以为它们定义。在您的特定示例中,您将在Bird子类中定义“flying”方法


此外,你可以说这个例子应该把Bird作为一个抽象类,因为Bird是一个“概念”,但它不能单独存在(你也可以在“多边形”和“三角形”中思考,多边形本身没有意义)。

教科书回答:
类是对象的一个*模板
。这意味着类显示对象的外观,而不是行为。行为由对象定义,通常在
构造函数中定义。类用于构建应用程序的结构。但是有一些使用它们的最佳实践是你应该学习的。在我看来,最重要的原则是坚实的原则。在您的情况下,Liskov原则可以帮助您。类是类似类型对象的蓝图,即类似类型的对象与一个类相关