【问题标题】:the difference between field, variable, attribute, and property in Java [duplicate]Java中字段,变量,属性和属性之间的区别[重复]
【发布时间】:2020-12-28 20:40:39
【问题描述】:

我想知道Java中的属性和属性之间有什么区别以及它们之间的关系是什么。

它们中的任何一个是指具体的类变量还是实例变量?

在某些网站上,我理解属性是指改变类实例的变量,可以使用 set-get 方法进行设置。另一方面,我发现属性是类变量或字段。但这让我很困惑,因为为什么类中的静态方法需要一个参数来引用该类才能访问类属性。

为什么不能直接访问它们,因为类属性只是可以直接访问的静态变量?

【问题讨论】:

标签: java composition


【解决方案1】:

在这里你会找到the Java Language Specification。你会发现attributeproperty这两个词基本不在里面。

这些是英文术语。人们用来表达想法的术语。任何使用此类术语的论点都是(过度)简化的。他们应该在论点、教程、书籍或解释中的某处说明这些词的确切含义,因为或多或少暗示的“我的意思是 java lang 规范所说的意思”不适用于这些术语 - 他们不在里面。

我在这一天阅读了许多教程和论点。 “属性”和“财产”这两个词应该表示的完全不同的东西的数量和我的腿一样长。

因此,您的问题的答案既简单又可能令人失望:没有区别。你必须定义你的意思。

在某些网站上,我理解属性是指在类实例中发生变化的变量,可以使用 set-get 方法进行设置。

这是十亿个规范之一,也没有特别明确地说明。

但这让我很困惑,因为为什么类中的静态方法需要一个参数来引用该类才能访问类属性。

但是,事实并非如此。您可以在没有任何上下文或参数的情况下引用静态字段,并且可以直接访问它们。

【讨论】:

  • 有一个旧的(但仍然相关的)JavaBean specification,其中定义了属性。这是 Java 中大多数框架的基础。
  • 当然,在各种框架和规范中,这个词都有特定的含义。但是 javabeans 并不是唯一在更正式的上下文中使用这个词的书,而且我不太确定这是 OP 读过的内容,或者 OP 的书/教程/文章/等正在谈论的内容。在不确定的情况下,任何关于单词精确含义的问题如果不先定义都是完全没有意义的。
  • 答案在这里:geeksforgeeks.org/…
猜你喜欢
  • 2012-04-24
  • 1970-01-01
  • 2014-10-23
  • 1970-01-01
  • 1970-01-01
  • 2011-10-08
  • 2023-04-06
  • 2014-08-22
  • 1970-01-01
相关资源
最近更新 更多