Size: a a a

2020 September 23

GV

Gukov Viktor in learn.java
Юрий
что лучше юзать для констант: енам или класс со статик финал полями?
Enum
источник

Ю

Юрий in learn.java
а чем лучше?
источник

GV

Gukov Viktor in learn.java
Юрий
а чем лучше?
Тот же класс, только заточенный под константы
источник

B

BS in learn.java
Мм спасибо
источник

Ю

Юрий in learn.java
Gukov Viktor
Тот же класс, только заточенный под константы
спасибо
источник

GV

Gukov Viktor in learn.java
Gukov Viktor
Тот же класс, только заточенный под константы
Ну и если брать подробный ответ в SO:
Type safety and value safety.

Guaranteed singleton.

Ability to define and override methods.

Ability to use values in switch statement case statements without qualification.

Built-in sequentialization of values via ordinal().

Serialization by name not by value, which offers a degree of future-proofing.

EnumSet and EnumMap classes
источник

AF

Alex F in learn.java
Привет! Не могу понять почему неправильно ответил на вопрос.
Вот вопрос:
Given that Short and Integer extend Number, what type can be used to fill in the blank in the class below to allow it to compile?
package band;
interface Horn {
   public Integer play();
}
abstract class Woodwind {
   public Short play() {
       return 3;
   }
}
public final class Saxophone extends Woodwind implements Horn {
   public ______ play() { // what type allowed?
       return null;
   }
}
Варианты:
A). Integer
B). Short
C). Number
D). None of the above

Я отвечаю Number, так как он общий родитель, Idea тоже не ругается. Однако правильный ответ почему-то None of the above. Как так то?
источник

DS

Dmitriy Shilnikov in learn.java
Alex F
Привет! Не могу понять почему неправильно ответил на вопрос.
Вот вопрос:
Given that Short and Integer extend Number, what type can be used to fill in the blank in the class below to allow it to compile?
package band;
interface Horn {
   public Integer play();
}
abstract class Woodwind {
   public Short play() {
       return 3;
   }
}
public final class Saxophone extends Woodwind implements Horn {
   public ______ play() { // what type allowed?
       return null;
   }
}
Варианты:
A). Integer
B). Short
C). Number
D). None of the above

Я отвечаю Number, так как он общий родитель, Idea тоже не ругается. Однако правильный ответ почему-то None of the above. Как так то?
Это задание точно без ошибок перепечатано?
источник

DC

Denis Chikanov in learn.java
Alex F
Привет! Не могу понять почему неправильно ответил на вопрос.
Вот вопрос:
Given that Short and Integer extend Number, what type can be used to fill in the blank in the class below to allow it to compile?
package band;
interface Horn {
   public Integer play();
}
abstract class Woodwind {
   public Short play() {
       return 3;
   }
}
public final class Saxophone extends Woodwind implements Horn {
   public ______ play() { // what type allowed?
       return null;
   }
}
Варианты:
A). Integer
B). Short
C). Number
D). None of the above

Я отвечаю Number, так как он общий родитель, Idea тоже не ругается. Однако правильный ответ почему-то None of the above. Как так то?
Как соотносятся между собой интерфейс, абстрактный и финальный классы? А то сейчас у тебя в сообщении никак.
источник

DS

Dmitriy Shilnikov in learn.java
Там вообще что угодно может быть напечатано, по-моему )
источник

AF

Alex F in learn.java
Dmitriy Shilnikov
Это задание точно без ошибок перепечатано?
с ошибкой! спасибо, сейчас поправлю
источник

DS

Dmitriy Shilnikov in learn.java
Там ещё Play с большой буквы
источник

DS

Dmitriy Shilnikov in learn.java
В таком виде там тоже может что угодно быть
источник

AF

Alex F in learn.java
Saxophone extends Woodwind implements Horn конечно же )
источник

AF

Alex F in learn.java
Dmitriy Shilnikov
Там ещё Play с большой буквы
опечатка, спс
источник

DS

Dmitriy Shilnikov in learn.java
Без опечатки идея должна на Number ругаться
источник

AF

Alex F in learn.java
Да теперь ругается attempting to use incompatible return type
источник

DS

Dmitriy Shilnikov in learn.java
Alex F
Да теперь ругается attempting to use incompatible return type
Ты представь, что у тебя есть Horn horn. И ты делаешь horn.play() - ты должен в ответ получить Integer. А имплементация взяла и вернула Float (он тоже Number). В итоге всё сломается.
источник

AF

Alex F in learn.java
Unfortunately, the inherited methods must also be compatible with each other. // Пот тут пока не понимаю. Родитель то один.
источник

DS

Dmitriy Shilnikov in learn.java
Alex F
Unfortunately, the inherited methods must also be compatible with each other. // Пот тут пока не понимаю. Родитель то один.
Ну так ты два метода получаешь в этом классе, один от интерфейса, один от родительского класса.
источник