2017-05-30 132 views
0

我有一个java对象的工作,在这种时候我悬停在它的定义如下:如何在对象更改属性

Employee= {[email protected]}"Welder tech" 
    Name = "Fred" 
    age = "32" 

我感到莫名其妙,什么{焊机@ 4562}“焊机高科技“是。但是,我需要将“焊机技术”更改为其他文本。我怎样才能做到这一点? (我相信这个目标是通过反射创建)

+0

请将代码发布到您的java对象。 – hallaksec

+0

public class Employee {String name;字符串年龄} –

回答

1

这里有一个quick explanation这可以解释为什么你要

{焊机@ 4562}“焊工技术”

这是由于Java中的默认toString()方法。为了改变这种状况,以提供符合您的预期输出,你应该覆盖它,这里有一个简单的例子:

public String toString(){ 
    return "Hello, I am " + name; 
} 

还要改变你的对象的字段,你应该创建一个getter的值和一个setter每个字段如下:

private String name; 
public void setName(String name) { this.name = name; } 
public String getName() { return name; } 

如果你不熟悉的“this”关键字,那么请参考this

+0

即时通讯不能做到这一点,因为Employee对象已经创建,那么我需要改变它的名字。我想我所要求的是改变一个对象的simpleName。 –

+0

@ elutionselutions1即使它已经创建,您仍然可以将setter方法或上述任何方法添加到对象,并且不会影响现有实例。 – hallaksec

+0

是的,实际上我向你提出的是错误的 - 对象确实有setter和getters –