Подтвердить что ты не робот

Определение абстрактного класса без абстрактных методов

Можно ли определить абстрактный класс без добавления абстрактного метода?

4b9b3361

Ответ 1

Конечно.

Объявление абстрактного класса означает, что вы не позволяете ему создавать экземпляр самостоятельно.

Объявление абстрактного метода означает, что подклассы должны предоставить реализацию для этого метода.

Эти два являются отдельными понятиями, хотя, очевидно, вы не можете иметь абстрактный метод в не-абстрактном классе. Вы даже можете иметь абстрактные классы с методами final, но никогда не наоборот.

Ответ 2

Да, вы можете это сделать. Почему бы вам просто не попробовать это сделать?

Ответ 3

Да, вы можете. Абстрактный класс, используемый в java, означает, что вы не можете создать объект класса. И абстрактный метод, который должен предоставить подклассы для реализации этого метода.

Таким образом, вы можете легко определить абстрактный класс без абстрактного метода.

Пример:

public abstract class AbstractClass{

    public String nonAbstractMethodOne(String param1,String param2){
        String param = param1 + param2;
        return param;
    }

    public static void nonAbstractMethodTwo(String param){
        System.out.println("Value of param is "+param);
    }
}

Это нормально.

Ответ 4

Да, вы можете объявить класс, который вы не можете создать самостоятельно, используя только методы, которые уже имеют реализации. Это было бы полезно, если бы вы хотели добавить абстрактные методы в будущем, или если вы не хотели, чтобы класс был непосредственно создан, даже если он не имеет абстрактных свойств.

Ответ 5

ДА Вы можете создать абстрактный класс без какого-либо абстрактного метода, лучшим примером абстрактного класса без абстрактного метода является HttpServlet
Абстрактный метод - это метод, который не имеет тела. Если вы объявили хотя бы один метод в класс, класс должен быть объявлен как абстрактный его обязательным, но если вы объявили абстрактный класс, он не является обязательным для объявления абстрактного метода внутри класса.

Вы не можете создавать объекты абстрактного класса, а это значит, что он не может быть создан.

Ответ 6

Да, вы можете определить абстрактный класс без абстрактного метода. Однако, если внутри нет метода, лучше перейти с интерфейсом

Ответ 7

Да, мы можем иметь абстрактный класс без абстрактных методов, поскольку оба являются независимыми понятиями. Объявление абстрактного класса означает, что он не может быть создан сам по себе и может быть только подклассифицирован. Объявление абстрактного метода означает, что метод будет определен в подклассе.

Ответ 8

да, вы можете это сделать.

Объявление абстрактного класса означает, что класс не будет создан каким-либо другим классом.

и внутри него должен быть хотя бы один абстрактный метод и смысл того, что вы можете объявить абстрактный метод в этом классе, если вы не объявляете метод, чем его ok.

Пример:

public abstract class abs {

    protected int cx = 0, cy = 0;

    public void p() {
        System.out.print("hello");
    }
}

это будет работать точно.

Ответ 9

да, мы можем объявить абстрактный класс без абстрактного метода. целью объявления класса как абстрактного является не создание экземпляра класса.

поэтому два случая

1) абстрактный класс с абстрактными методами.

эти типы классов, мы должны наследовать класс из этого абстрактного класса и должны переопределять абстрактные методы в нашем классе, ex: класс GenricServlet

2) абстрактный класс без абстрактных методов.

эти типы классов, мы должны наследовать класс из этого абстрактного класса, ex: класс HttpServlet цель заключается в том, что если вы не реализуете свою логику в дочернем классе, вы можете получить родительскую логику

проверьте исходный код HttpServlet

Ответ 10

Да, вы можете. Иногда вам может быть задан этот вопрос, что в этом цель? Ответ таков: иногда нам приходится ограничивать класс от экземпляра самостоятельно. В этом случае мы хотим, чтобы пользователь расширил наш абстрактный класс и создал экземпляр дочернего класса