【发布时间】:2014-10-27 04:52:02
【问题描述】:
class Employee {
public String name = "John";
public void modifyName(String name)
{
name = name; // I know using 'this' would be helpful, but I dont want to
}
System.out.println(name);
}
class Someclass {
public static void main(String[] args)
{
Employee e1 = new Employee();
System.out.println(e1.modifyName("Dave"));
System.out.println(e1.name); // Does this outputs John or Dave?
}
}
方法 modifyName 的行为是否类似于 setter 并将实例变量名称更改为“Dave”?
方法是否仅在遵循命名约定 setProperty 时才表现得像 setter?
modifyName 不起作用,如果命名为setName 会起作用吗?
【问题讨论】:
-
编译器不会查看方法名称来试图找出您在做什么,即使它遵循 JavaBean 约定。你可以称它为
destroyName或reverseName,但它会做任何你告诉它在体内做的事情,期间。 -
请缩进你的代码!另外,你运行它时发生了什么?最后,我知道使用 'this' 会有所帮助,但我不想这样做是我们不能拥有美好事物的原因。
标签: java methods instance-variables method-parameters