11 java pass-by-reference pass-by-value
假设我有一个名为的类型Superstar.现在我希望有一个方法可以完成一些工作并编辑Superstar对象的某些属性.
以下是我如何实现这一点的两种方法.方式1将如下:
private Superstar editSuperstar(Superstar superstar){
....
superstar.setEdited(true);
return superstar;
}
...
superstar = editSuperstar(superstar);
Run Code Online (Sandbox Code Playgroud)
方式2将是这样的:
private void editSuperstar(Superstar superstar){
....
superstar.setEdited(true);
}
...
editSuperstar(superstar);
Run Code Online (Sandbox Code Playgroud)
这两种可能的方式中的哪一种被认为是"最佳实践"?第一个,或第二个伪"引用"一个?
在您的情况下,第二种形式是可取的,因为您直接更改了一个超级明星属性(edited).但是,如果你有一个方法使用超级明星对象并返回它的更新版本(不更改初始对象),第一个表单将有利于我.
最后,由于这两个示例都只使用Superstar对象,因此它们应该是Superstar类的成员方法.
| 归档时间: |
|
| 查看次数: |
3248 次 |
| 最近记录: |