Генерация метода случайных чисел в классе интерфейса
У меня есть интерфейсный класс, и в этом классе мне нужно создать абстрактный метод, который генерирует случайное int. Однако, когда я пытаюсь скомпилировать, я получаю ошибку, потому что абстрактные классы не могут иметь тела. Как я могу создать абстрактный метод, который генерирует случайный int? Мне также нужно указать верхний предел (я сказал 40).
{
/**
* This method generates a random number.
*
* @param y a sample parameter for a method
* @return the result produced by sampleMethod
*/
Random rnd = new Random();
System.out.println(rnd.nextInt(40));
}
2 ответа
Вы сказали это сами, абстрактные методы не могут иметь тела.
Я предлагаю вам написать класс absract, который имеет конкретный метод, который создает ваш случайный int
а затем есть классы, которые выходят из вашего абстрактного класса.
Помните, что интерфейс может иметь только абстрактные методы и статические конечные переменные.
В абстрактном классе JAVA может быть метод с телом, доза абстрактного метода, конечно, не имеет тела
abstract class Test{
public void method(){
System.out.println("This method have body ");
}
//This one dose not
abstract public void method2();
}
В JAVA 8 интерфейсы могут иметь статический метод и метод по умолчанию
interface Test{
public static void method(){
System.out.println("This method must have a body ");
}
default void method1(){
System.out.println("This method must have a body ");
}
}
и, пожалуйста, напишите код и полное сообщение об ошибке в следующий раз