public class User {
String name;
short age;
int height;
public User(int height, short age, String name) {
this.height = height;
this.age = age;
this.name = name;
}
public User(int height, String name, short age) {
this.height = height;
this.name = name;
this.age = age;
}
public User(short age, String name, int height) {
this.age = age;
this.name = name;
this.height = height;
}
public User(short age, int height, String name) {
this.age = age;
this.height = height;
this.name = name;
}
public User(String name, int height, short age) {
this.name = name;
this.height = height;
this.age = age;
}
public User(String name, short age, int height) {
this.name = name;
this.age = age;
this.height = height;
}
public static void main(String[] args) {
User user1 = new User("Dminem", (short)28, 182);
User user2 = new User("Nemdim", 160, (short)32);
System.out.println(user1.name + user1.height + user1.age);
System.out.println(user2.name + user2.height + user2.age);
}
}
Почему если при создании объектов указать перед значением (short), то компилятор понимает, в какую переменную записать это значение?
Почему такой же фокус не проходит, если указать (int) перед другим значением?
Если делать так:
User user1 = new User("Dminem", 28, (int)182);
Или так
User user1 = new User("Dminem", 28, 182);
то в конструктор передаются два int. А конструктора для таких параметров нет. Потому фокус и не удается.
Предположим у нас есть два таких конструктора (и компилятор разрешает):
public User(int height, int age) {
this.height = height;
this.age = age;
}
и
public User(int age, int height) {
this.height = height;
this.age = age;
}
Теперь мы создаем такой объект
User user = new User(28, 182);
Откуда яве знать, какой конструктор здесь нужно использовать? Потому такое и невозможно.
а когда типы переменных будут исчерпаны?
public class Height {
private int value;
private Height(int value) {
this.value = value;
}
public int getValue() { return value; }
public static Height of(int value) {
return new Height(value);
}
}
Аналогично - для Age
.
public User(String name, Height height, Age age) {
this.name = name;
this.height = height.getValue();
this.age = age.getValue();
}
public User(String name, Age age, Height height) {
this.name = name;
this.height = height.getValue();
this.age = age.getValue();
}
...
User user2 = new User("Nemdim", Height.of(160), Age.of(32));
User user1 = new User("Dminem", Age.of(28), Height.of(182));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В Swagger есть проблема на вызов реста возвращающий List<Map<String, Object>> (вверху появляется сообщение)
Как сделать навигацию по неделям как на скриншоте? Нажимаем вперёд переключаемся на следующую неделю, если назад то на предыдущую?
Подскажите, как реализовать функцию удаления в хеш-таблице с открытой адресацией? Например,
У меня есть сервер написанный на C++, основанный на "неблокирующих сокетах с использованием select" - Пример данный реализации есть в интернете,...