访问器方法的用法

时间:2011-04-21 06:38:26

标签: java getter-setter

这是我的包含setter和getter的类

package Pack;

public class Details {

String FirstName,LastName,City,Country;

    public Details(String firstName, String lastName, String city,
            String country) {
        super();
        FirstName = firstName;
        LastName = lastName;
        City = city;
        Country = country;
    }

    public String getFirstName() {
        return FirstName;
    }

    public void setFirstName(String firstName) {
        FirstName = firstName;
    }

    public String getLastName() {
        return LastName;
    }

    public void setLastName(String lastName) {
        LastName = lastName;
    }

    public String getCity() {
        return City;
    }

    public void setCity(String city) {
        City = city;
    }

    public String getCountry() {
        return Country;
    }

    public void setCountry(String country) {
        Country = country;
    }
}

=============================================== ============================

这是我的主要()

package Pack;

public class MainClass {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Details d = new Details("Hari","L","Bangalore","India");

    }

}

=============================================== ===========================

我知道我的主()不完整。我应该写什么来显示“d”的内容?

5 个答案:

答案 0 :(得分:6)

有两种方式。

一,只需打印详细信息对象的每个属性:

System.out.println("FirstName :"+d.getFirstName());等。

或者,更好的选择是覆盖班级中的toString()方法

public void toString() {
        return this.getFirstName()+ " " + this.getLastName()+" "+.... ;
}

然后只需打印您的课程System.out.println(d);

答案 1 :(得分:2)

覆盖详细信息中的toString()方法,如下所示,然后只需调用打印您想要的内容:

public String toString(){
   return this.firstName+" "+this.lastName+" "+this.city+" "+this.country;
}

在main中只需将其称为System.out.println(d);

答案 2 :(得分:2)

你需要在Details类中使用toString()方法:

public String toString(){
   return this.firstName + " " + this.lastName + ", " + this.city + " " + this.country;
}

System.out.println(d.toString());

中的

答案 3 :(得分:1)

这样的东西?

System.out.printf("%s %s (%s, %s)\n", d.getFirstName(), d.getLastName(), d.getCity(), d.getCountry());

我会将您的字段(FirstName,LastName,City和Country)设为私有字段,否则使用getter和setter没有多大意义。

答案 4 :(得分:-1)

尝试添加方法(或类似的更多属性):

public String asFirstnameLastname()
{
    return firstName + " " + lastName;
}

public String asLastNameFirstname()
{
   return lastName + " " + firstName;
}

toString()也是一个不错的选择。