Если вы используете стандартную ОС POSIX, вы используете cron .
Если вы используете Windows, вы используете в .
Напишите команду управления Django для
Если игнорировать абстрактные методы, в Java нет такой возможности. Возможно, можно создать аннотацию времени компиляции, чтобы заставить это поведение (и я не уверен, что это так), но это все.
Настоящая особенность заключается в том, чтобы «переопределить метод в суперклассе, который сам имеет некоторую логику, которую необходимо выполнить». Если вы переопределите метод, метод суперкласса не будет вызываться, если вы явно не вызовете его.
В подобных ситуациях я обычно делал что-то вроде:
abstract public class Worker implements Runnable {
@Override
public final void run() {
beforeWork();
doWork();
afterWork();
}
protected void beforeWork() { }
protected void afterWork() { }
abstract protected void doWork();
}
, чтобы принудить конкретную логическую структуру к методу интерфейса. Вы можете использовать это, например, для подсчета вызовов, не беспокоясь о том, вызывает ли пользователь super.run ()
и т. Д.
... и если объявление базового класса abstract
не является вариантом, вы всегда можете выбросить UnsupportedOperationException
class BaseClass {
void mustOverride() {
throw new UnsupportedOperationException("Must implement");
}
}
Но это, конечно, не проверка во время компиляции ...
{ {1}}Я не уверен, о каком атрибуте вы думаете в .NET.
В VB вы можете применить модификатор MustOverride
к методу, но это просто эквивалентно созданию абстрактного метода в Java. Атрибут / аннотация не требуется, поскольку концепция встроена в языки. Это больше, чем просто применение метаданных - есть также важное отличие в том, что абстрактный метод не включает в себя саму реализацию.
Если вы действительно думаете, что есть такой атрибут, не могли бы вы сказать, какой из них вы имеете в виду?