я написал код, он работает, задача сдана, но почему то я могу вызвать значение name через vasya.name а не только через vasya.getName. В чём у меня косяк? код ниже
public static void main(String[] args) {
Man vasya = new Man("vasya", 21, "hz");
Man kolya = new Man("kolya", 23, "hz");
Woman maria = new Woman("maria", 21, "hz");
Woman katya = new Woman("katya", 21, "hz");
System.out.println(vasya.name + " " + vasya.age + " " + vasya.address);
System.out.println(kolya.getName() + " " + kolya.getAge() + " " + kolya.getAddress());
System.out.println(maria.name + " " + maria.age + " " + maria.address);
System.out.println(katya.name + " " + katya.age + " " + katya.address);
}
public static class Man {
private String name;
private int age;
private String address;
public Man(String name, int age, String address) {
this.name = name;
this.age = age;
this.address = address;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
public String getAddress() {
return this.address;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setAddress(String address) {
this.address = address;
}
}
public static class Woman {
private String name;
private int age;
private String address;
public Woman(String name, int age, String address) {
this.name = name;
this.age = age;
this.address = address;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
public String getAddress() {
return this.address;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setAddress(String address) {
this.address = address;
}
}
Leo
8 уровень
геттер и сеттер
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
ГоффMaster
31 августа 2021, 19:42
Косяка нет, просто приватные переменные вложенных классов видны. У тебя классы определены внутри класса Solution, поэтому в Solution видны их приватные поля.
0