Java getter和setter仅仅是方法吗?

Java getter和setter仅仅是方法吗?,java,Java,下面是真的:Java getter和setter只是方法 我知道它们的实现是为了操纵或获取私有的价值。。。属性/字段。但是可以称之为方法吗?可以,它们只是方法而已 技术上,从语言和虚拟机的角度来看,是的,它们只是方法 然而,一些库和框架认识到它们的特殊性质。例如,JPA可以通过注释字段或方法来映射“属性”。Beans绑定库使用它们来访问属性,因此,如果您在某个对象上有一对getText()/settText()对,那么您可以将“text”属性绑定到某个其他对象的其他属性(不过,您仍然需要执行ad

下面是真的:Java getter和setter只是方法


我知道它们的实现是为了操纵或获取私有的价值。。。属性/字段。但是可以称之为方法吗?

可以,它们只是方法而已

技术上,从语言和虚拟机的角度来看,是的,它们只是方法

然而,一些库和框架认识到它们的特殊性质。例如,JPA可以通过注释字段或方法来映射“属性”。Beans绑定库使用它们来访问属性,因此,如果您在某个对象上有一对
getText()/settText()
对,那么您可以将“text”属性绑定到某个其他对象的其他属性(不过,您仍然需要执行
addPropertyChangeListener
魔术)。但这只是一种结合了反射能力的“传统优于配置”现象。

根据

方法声明可调用的可执行代码,并将固定数量的值作为参数传递


这一标准也满足了得分者和得分者的要求;所以我们可以说这些是java语言中的“方法”。

幸运的是,我能够在谷歌上找到Craig Larman的“应用UML和模式”部分。引用

Accessing methods retrieve(accessor method) or set(mutator method)
attributes. In some languages such as Java it is a common idiom to 
have an accessor and mutator for each attribute, and to declare all
attributes private(to enforce data encapsulation). The methods are 
excluded in the class diagram because of the high noise-to-value ratio
they generate."

Java getter和setter是访问器方法。所以,是的,它们是方法

许多程序员(Java或其他)可能会对不断地为其所有私有字段编写
getXXX()
setXXX(type t)
感到恼火,特别是如果它们基本上只是一行方法的话。对于这种情况,有一些注释库(如)通过元编程和Java注释和反射的强大功能生成这些注释库


但是,显式编写getter/setter有很多原因。可以找到一个好的列表。但是我也很喜欢。

是的,基本上它们都是方法。 Java方法的标准定义如下:

方法是一组按名称引用的代码,只需使用方法名称即可在程序中的任何位置调用(调用)

-


<>你可以把方法看作是一个类内的小程序,它允许我们完成特定的任务,这也是吸气剂和定位器所做的。p> 是的,它们是简单的方法。是的,它们是检索属性/字段的简单方法,但在设置或获取值之前,它们可能有一些检查或操作。是的,简单的方法,通常分别称为访问器和变异器,用于getter和setter。是的,它们是。不幸的是,在java中,除了编写或生成getter和setter之外,没有一种优雅的方法可以使用getter和setter,这会导致枯燥的样板代码。在C#中,您可以在字段声明处定义getter和setter,例如:
string MyProperty{get;set;}
@f1sh是一种使用注释和元处理来模拟C#esque
get;设置。例如,它们与诸如
getAge()
(基于出生日期)之类的“虚拟”计算字段毫无区别。调用方法calculateAge()