Jov*_*van 24 java getter-setter
我想知道何时在我的类中使用get和set方法(getName,setName),classVariable.name = ""而不是简单? = classVariable.getName()
这是使用set和get方法的类的示例
public class ClassExampe {
String name;
String course;
public String getName ( )
{
return name;
}
public void setName (String studentName)
{
name = studentName;
}
public String getCourse ( )
{
return course;
}
public void setCourse (String studentCourse)
{
course = studentCourse;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
Sea*_*oyd 37
根据经验:
直接使用来自同一个类的变量(实际上来自同一个.java文件,因此内部类也可以),使用其他类中的Getters/Setters.
Boz*_*zho 23
简单的规则是:永远不要使用直接访问(当然,除非从类中引用它们).
即使你不需要这些,也不是不可能的.如果你从现场访问开始,它将更难改变.
Ala*_*nse 10
在Java中,使用getter和setter通常被认为是最佳实践.
这是因为如果您在访问或修改属性时需要更改代码以执行其他操作,则可以在现有的getter或setter中更改它.
我倾向于认为它会对简单对象造成一些混乱,但是如果你曾经不得不将公共属性重构为getter和setter以添加其他功能,那么你会发现它可能会很痛苦.
我怀疑大多数人会说总是使用getter/setter来访问私有成员.这不是必要的,但被认为是"最佳实践".
一个优点是,您可以拥有的不仅仅是简单的分配和返回.例:
public void setLevel(int lvl)
{
if (lvl<0)
{
this.level=1;
}
else
this.level = lvl;
}
public int getLevel()
{
if (this.someIndicator==4)
return this.level*7.1;
else
return level;
}
Run Code Online (Sandbox Code Playgroud)