Использование методов доступа - PullRequest
0 голосов
/ 21 апреля 2011

Это мой класс, содержащий сеттеры и геттеры

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");

    }

}

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

Я знаю, что мой main () не завершен.Что я должен написать, чтобы отобразить содержимое "d"?

Ответы [ 5 ]

6 голосов
/ 21 апреля 2011

Есть два способа.

Один, просто распечатайте каждое свойство вашего объекта данных:

System.out.println("FirstName :"+d.getFirstName()); и т.д ..

Или, лучшим вариантом будетпереопределить toString() метод в вашем классе

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

, а затем просто напечатать ваш класс System.out.println(d);

2 голосов
/ 21 апреля 2011

вам нужен метод toString () в классе Details:

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

и

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

в основном

2 голосов
/ 21 апреля 2011

Переопределите метод toString () в Details, как описано ниже, а затем просто вызовите, чтобы напечатать то, что вы хотите:

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

в основном, просто назовите его как System.out.println(d);

1 голос
/ 21 апреля 2011

Как-то так?

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

Я бы сделал ваши поля (FirstName, LastName, City и Country) закрытыми, в противном случае нет смысла использовать геттеры и сеттеры.

0 голосов
/ 21 апреля 2011

Попробуйте добавить методы (или что-то подобное с большим количеством свойств):

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

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

toString () также является хорошим выбором.

...