Java абстрактный модификатор - PullRequest
2 голосов
/ 29 августа 2009

Может ли модификатор abstract появляться перед классом, методом или переменной?

Ответы [ 5 ]

4 голосов
/ 29 августа 2009

Матрица модификаторов отвечает на ваш вопрос:

  • класс: да
  • метод: да
  • переменная: нет
2 голосов
/ 29 августа 2009

Аннотация может быть помещена в объявление класса, как в

public abstract class Test{
    //class implementation
}

... и в объявлении метода, как в

public abstract void test();

По аргументу: http://java.sun.com/docs/books/tutorial/java/IandI/abstract.html

1 голос
/ 29 августа 2009

Модификатор abstract помещается перед классами или методами. Для класса это означает, что он не может быть непосредственно создан, но должен быть разделен на подклассы. Для метода это означает, что он не имеет реализации в классе, но должен быть реализован в подклассе. Его нельзя применять к переменным.

0 голосов
/ 29 августа 2009

класс и метод. Модификатор abstract используется для обозначения того, что класс / метод должен быть переопределен. Как руководство:

class - Contains unimplemented methods and cannot be instantiated.

method -     No body, only signature. The enclosing class is abstract

Надеюсь, это поможет.

0 голосов
/ 29 августа 2009

Может появляться перед классами (чтобы предотвратить создание их экземпляров и позволить им иметь абстрактные методы) и перед методами (чтобы показать, что метод не реализован в этом классе, но любой неабстрактный подкласс должен его реализовывать).

...