Генерация метода случайных чисел в классе интерфейса

У меня есть интерфейсный класс, и в этом классе мне нужно создать абстрактный метод, который генерирует случайное 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 ");
    }
}

и, пожалуйста, напишите код и полное сообщение об ошибке в следующий раз

Другие вопросы по тегам