2014-09-30 3 views
-3

Интересно, что делает @Override в Java? Моя программа работает без него. Netbeans помещает желтую линию в мой метод, предлагая использовать @Override. Но даже если я игнорирую это предложение, моя программа работает без ошибок. Ну, мне просто интересно. спасибо за любой ответ.Что делает @Override в Java?

+0

Пожалуйста, сделайте поиск по Google перед публикацией на SO. Вот описание о @Override: http://docs.oracle.com/javase/7/docs/api/java/lang/Override.html – Aritra

+0

спасибо за предложение. я позабочусь о том, чтобы сначала проверить google, прежде чем спрашивать. –

ответ

0

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

public String getProperty(int x, int y) {...} 

Но вы случайно реализовать:

public String getProperty(int x){...} 

Вы не получите ошибку компиляции для этого. Но если вы включите аннотацию @Override при реализации этого метода, тогда код не будет компилироваться, и ваша IDE сообщит вам об этом. Так что это в основном для безопасности.

+1

Да, вы получите ошибку, если не реализуете метод интерфейса! – Alboz

+0

Хороший вопрос позволяет мне редактировать с классом. Благодаря! –

+0

благодарим вас за четкое объяснение .. В основном по соображениям безопасности. благодаря.. –

2

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

Ресурс:

0

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