草庐IT

Getter-Setter

全部标签

java - java.lang.reflect.Array 的 getter 和 setter 方法的目的是什么?

Java类java.lang.reflect.Array提供一组用于动态创建数组的工具。但是除此之外,它还有一整套用于访问(获取、设置和长度)数组的方法。我不明白这一点,因为您可以(并且可能会)在创建时将动态生成的数组转换为数组,这意味着您可以使用正常的数组访问(括号表示法)功能。事实上,查看源代码您可以看到类所做的所有事情,转换数组,并在转换失败时抛出异常。那么所有这些额外方法的意义/用途是什么?更新考虑到您需要知道类型数组,以便知道使用哪种方法。更新2谢谢大家,你们的意见很有教育意义!我真的看不出什么时候我会把这个类用于除newInstance()(也许还有getLength())

java - IntelliJ IDEA 将 final 添加到自动生成的 setter

我正在尝试将final关键字添加到IntelliJIDEA14中自动生成的setter中的参数。我知道我可以创建用于setter方法的当前模板的副本:#set($paramName=$helper.getParamName($field,$project))public###if($field.modifierStatic)static###endvoidset$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field,$pr

java - 在覆盖 toString 时,是使用 getter 方法更好还是直接访问私有(private)字段更好?

这个问题在这里已经有了答案:Isitinananti-patterntoalwaysusegetandsetmethodstoaccessaclass'sownmemberfields?[duplicate](11个答案)关闭9年前。我见过这两种方法的使用,但从未听说过出于任何特定原因,一种方法优于另一种方法。publicStringtoString(){returnthis.field1+""+this.field2;}对比publicStringtoString(){returngetField1()+""+getField2();}我在我的示例中使用了字符串连接以保持代码简洁。

java - 在java中哪里使用 "this"?

这个问题在这里已经有了答案:WhenshouldIuse"this"inaclass?(17个答案)关闭7年前。据我所知,这用于以下情况:this关键字用于引用与局部变量同名的实例变量。将一个构造函数调用给同一类中的其他构造函数。将类实例作为参数传递给方法。访问外部类变量。但是我已经检查了我的项目代码,他们在getter中使用了它,例如:classa{inttime;intgetValue(){returnthis.time*5.;}}据我所知,每个对象都有自己的实例变量和方法副本,因此以这种方式返回是有意义的。请澄清。提到的Stackoverfow问题:WhenshouldIuse"

java - 访问变量的 getter 方法调用是否比在类中直接访问变量更好

我只是想知道在类实例中使用getter方法访问类变量是否可取,以及直接访问是否存在任何明显的性能差异。尤其是在jvm中预计会生成很多对象的情况下。 最佳答案 在Java中,约定从类外部通过getter/setter访问所有字段。从类内部,您通常直接访问字段。但是,您也可以根据需要通过getter/setter访问它们。重要的是要知道这只是一个约定。许多其他编程语言没有这样严格的规则或其他概念。所以你不是被迫这样做的。但这是一个很好的做法。并且:不要介意性能!使用getters/setters不会影响应用程序的性能。JVM/Java就

java - 返回实例引用的 setter 。模式还是反模式?

我在考虑代码结构,在考虑setter。这些曾经是void方法,那么为什么不使用一些可能的返回值来启用一些新的代码结构呢?我的想法是将所有属性setter从void更改为实例引用,这样我们就可以按顺序执行setter或其他操作。这是一个例子:publicclassMyClass{privateintfoo;privateStringbar;publicMyClasssetFoo(intfoo){this.foo=foo;returnthis;}publicMyClasssetBar(Stringbar){this.bar=bar;returnthis;}}然后在代码的其他地方我们可以做:

java - Eclipse 为具有 'm' 后缀的域对象和类成员生成 getter/setter

我有一个关于在我的域对象中生成的getter和setter方法的小问题。我想为我的源代码使用一个通用的风格指南。该风格指南的一部分说我在每个类成员名称的开头都使用前缀“m”表示成员。classUser{StringmName;ListmAllCall;ListmAllGeo;不幸的是,我有几个具有更多成员变量的类。我遇到的问题是我是一个非常懒惰的开发人员,我在Eclipse中使用创建了getter和setter方法"Source"->"GenerateGettersandSetters".结果是publicStringgetmName(){returnmName;}publicvoid

java - getters和setters的junit测试方法

我的项目中有很多javabean。我需要为他们生成一个JUnit测试类。使用Eclipse3.2和junit4.4生成的测试方法如下所示:publicvoidtestGetName(){//fail("Notyetimplemented");}@TestpublicvoidtestSetName(){//fail("Notyetimplemented");}@TestpublicvoidtestGetEmployeeid(){//fail("Notyetimplemented");}@TestpublicvoidtestSetEmployeeid(){//fail("Notyetimp

java - Field 中原始 getter/setter 的目的是什么?

在Field中publicObjectget(Objectobj)方法的文档中类说Thevalueisautomaticallywrappedinanobjectifithasaprimitivetype.对于publicvoidset(Objectobj,Objectvalue)来说Iftheunderlyingfieldisofaprimitivetype,anunwrappingconversionisattemptedtoconvertthenewvaluetoavalueofaprimitivetype.所以我是对的,像getInt和setInt这样的特定原始getter和s

java - 修改Eclipse默认提供的getter和setter方法有哪些设置?

我正在使用EclipseKepler开发我的Java项目。我创建了一个vo并向vo添加了一些属性。要为这些属性生成getter和setter方法,我右键单击其中一个属性并转到“Source”,然后单击“GeneratesGettersandSetters”。它向我展示了属性的可用getter/setter方法。下面是屏幕截图正如您在上面的屏幕截图中看到的,Eclipse为属性sId提供了getter和setter方法publicStringgetsId(){returnsId;}publicvoidsetsId(StringsId){this.sId=sId;}get和set之后的第一