Java:初学者帮助变量

时间:2015-01-18 02:05:16

标签: java methods

这是一个学校项目。我已经构建了一个包含3个字符串变量和构造函数的简单类来填充这些字段。

public class Names {
String firstName;
String middleName;
String lastName;

public Names(String name){
    System.out.println("Passed name is: " + name);
}

public void setFirstName(String name){
    firstName = name;
}
public void setMiddleName(String name){
    middleName = name;
}
public void setLastName(String name){
    lastName = name;
}

public static void main(String []args){
    Names drew = new Names("Drew");

    drew.setFirstName("Drew");
    drew.setMiddleName("Leland");
    drew.setLastName("Sommer");

    System.out.println(drew.firstName + " " + drew.middleName + " " + drew.lastName);
}

public getFirstName(String name){

}
public getMiddleName(String name){

}
public getLastName(String name){

}}

在getFirstName,getMiddleName,getLastName的底部我希望能够传递getFirstName(画了)之类的内容并让它返回drew.firstName吗?

我对java FYI很新。

4 个答案:

答案 0 :(得分:1)

public String getFirstName() {
    return this.firstName;
}

这将返回您调用它的对象的firstName。

您可以这样称呼它:

System.out.println(drew.getFirstName() + " " + drew.middleName + " " + drew.lastName);

然后,您可以对getMiddleName和getLastName执行相同的操作。

答案 1 :(得分:1)

这些是"getter" methods以返回实例字段的值。 drew是您当前的Names实例,因此如果您在此实例上调用这些方法,您将收到使用“setter”方法设置的值。因为您在特定实例上调用它们,所以不需要将其作为方法参数传递。这就是为什么这些getter方法通常是无参数的。

他们应该是这样的:

public String getFirstName() {
    return firstName;
}

public String getMiddleName() {
    return middleName;
}

public String getLastName() {
    return lastName;
}

请注意,我添加了相应的返回类型(String),因为每个实例字段的数据类型都是String

println方法中的main调用将如下所示:

System.out.println(drew.getFirstName() + " " + drew.getMiddleName() + " " + drew.getLastName());

答案 2 :(得分:0)

您的get方法将由Names类的实例调用。当您创建类的实例并为其指定变量名称时,只需使用该变量名称来调用该方法,它将返回该实例的名称。

//Instantiate the Names class
Names drew = new Names("Drew");

//Call methods to set the names
drew.setFirstName("Drew");
drew.setMiddleName("John");
drew.setLastName("Smith");

//Call methods to get the names
drew.getFirstName();   //Returns "Drew"
drew.getMiddleName();  //Returns "John"
drew.getLastName();    //Returns "Smith"

而且,和其他人一样,你的get / set方法应该是这样的:

public void setFirstName(String n){
    firstName = n;
}
public String getFirstName(){
    return firstName;
}

答案 3 :(得分:0)

正如你所说,“我希望能够传递像getFirstName(画了)之类的内容并让它返回drew.firstName” 所以impl很简单,

public String getFirstName(Names other) {
    return other.firstName;
}