草庐IT

Getter-Setter

全部标签

java :Setter Getter and constructor

我对getter/setter和构造函数的使用有点困惑(请参阅下面的代码示例)publicclassExampleClass{privateintvalue=0;publicExampleClass(){value=0;}publicExampleClass(inti){this.value=i;}publicintgetValue(){returnvalue;}publicvoidsetValue(intval){this.value=val;}publicstaticvoidmain(String[]args){ExampleClassexample=newExampleClass

java - 为什么要将 getter 和 setter 方法声明为私有(private)?

这个问题在这里已经有了答案:Whyusegettersandsetters/accessors?(37个回答)关闭6年前。我看到了一段代码,其中getter和setter方法被声明为私有(private)的。我试图弄清楚它背后的逻辑,我真的很难理解你为什么要将它们声明为私有(private)?这与我们试图通过getter和setter实现的目标完全相反。 最佳答案 我能想到几个原因:您想阻止future的公共(public)访问。如果其他程序员看到您的代码并想要访问变量,但没有setter和getter,他可能会认为您只是忘记了它们

java - 为什么要将 getter 和 setter 方法声明为私有(private)?

这个问题在这里已经有了答案:Whyusegettersandsetters/accessors?(37个回答)关闭6年前。我看到了一段代码,其中getter和setter方法被声明为私有(private)的。我试图弄清楚它背后的逻辑,我真的很难理解你为什么要将它们声明为私有(private)?这与我们试图通过getter和setter实现的目标完全相反。 最佳答案 我能想到几个原因:您想阻止future的公共(public)访问。如果其他程序员看到您的代码并想要访问变量,但没有setter和getter,他可能会认为您只是忘记了它们

java - 如何在 getter 链中跟踪 NullPointerException

如果我在这样的调用中收到NullPointerException:someObject.getSomething().getSomethingElse().getAnotherThing().getYetAnotherObject().getValue();我得到一个相当无用的异常文本,例如:Exceptioninthread"main"java.lang.NullPointerExceptionatpackage.SomeClass.someMethod(SomeClass.java:12)我发现很难找出哪个调用实际上返回了null,我经常发现自己将代码重构为如下内容:Fooret1

java - 如何在 getter 链中跟踪 NullPointerException

如果我在这样的调用中收到NullPointerException:someObject.getSomething().getSomethingElse().getAnotherThing().getYetAnotherObject().getValue();我得到一个相当无用的异常文本,例如:Exceptioninthread"main"java.lang.NullPointerExceptionatpackage.SomeClass.someMethod(SomeClass.java:12)我发现很难找出哪个调用实际上返回了null,我经常发现自己将代码重构为如下内容:Fooret1

java - 具有所有类属性的构造函数还是具有 setter 的默认构造函数?

以下是两种方法:具有所有类属性的构造函数优点:我必须输入准确数量的参数类型,所以如果我出错,编译器会警告我(顺便说一句,有没有办法防止错误地切换参数列表上的两个Integer的问题?)缺点:如果我有很多属性,则实例化行可能会变得很长,并且可能跨越两行或更多行setter和默认的空构造函数优点:我可以清楚地看到我在设置什么,所以如果我做错了什么,我可以在输入时立即查明它(我不能犯之前切换两个变量的错误同类型)缺点:具有大量属性的对象的实例化可能需要几行(不知道这是否真的是一个缺点),如果我忘记设置一个属性,编译器不会说什么。你会做什么,为什么?您是否知道建议的任何灯光模式(考虑到每次实例

java - 具有所有类属性的构造函数还是具有 setter 的默认构造函数?

以下是两种方法:具有所有类属性的构造函数优点:我必须输入准确数量的参数类型,所以如果我出错,编译器会警告我(顺便说一句,有没有办法防止错误地切换参数列表上的两个Integer的问题?)缺点:如果我有很多属性,则实例化行可能会变得很长,并且可能跨越两行或更多行setter和默认的空构造函数优点:我可以清楚地看到我在设置什么,所以如果我做错了什么,我可以在输入时立即查明它(我不能犯之前切换两个变量的错误同类型)缺点:具有大量属性的对象的实例化可能需要几行(不知道这是否真的是一个缺点),如果我忘记设置一个属性,编译器不会说什么。你会做什么,为什么?您是否知道建议的任何灯光模式(考虑到每次实例

java - 何时在 java 中使用 get/set 方法

这个问题在这里已经有了答案:Whyusegettersandsetters/accessors?(37个回答)关闭6年前。我想知道什么时候在我的类(class)中使用get和set方法(getName,setName),什么时候使用简单的classVariable.name=""而不是а=classVariable.getName()这是使用set和get方法的类示例publicclassClassExampe{Stringname;Stringcourse;publicStringgetName(){returnname;}publicvoidsetName(Stringstuden

java - 何时在 java 中使用 get/set 方法

这个问题在这里已经有了答案:Whyusegettersandsetters/accessors?(37个回答)关闭6年前。我想知道什么时候在我的类(class)中使用get和set方法(getName,setName),什么时候使用简单的classVariable.name=""而不是а=classVariable.getName()这是使用set和get方法的类示例publicclassClassExampe{Stringname;Stringcourse;publicStringgetName(){returnname;}publicvoidsetName(Stringstuden

c# - Getter 和 Setter 是糟糕的 OO 设计吗?

这个问题在这里已经有了答案:Whyusegettersandsetters/accessors?(37个回答)关闭7年前。GettersandSettersarebad简要阅读上面的文章,我发现getter和setter是糟糕的OO设计,应该避免使用它们,因为它们违背了封装和数据隐藏。既然是这种情况,在创建对象时如何避免它,以及如何在模型对象中考虑到这一点。在需要getter或setter的情况下,可以使用哪些其他替代方法?谢谢。 最佳答案 你错过了重点。那篇文章的有效且重要的一点是:Don'taskfortheinformatio