@ Анотація на загальну версію на Android

Я новачок у програмуванні Java та Android. Питання, яке мені доводиться, полягає в тому, що після перегляду декількох книг, форумів та веб-сайтів я не розумію, якою є анотація @override. Я розумію, що це означає, коли метод перевищує. але чому це потрібно в Android. Я бачу це рідко в вихідному коді для java, але весь час в Android.

10

8 Відповіді

Ви можете це побачити рідко в старому вихідному коді Java, оскільки це досить недавнє нововведення, в той час як код Android останнім часом визначається набагато більше.

Це захисна мережа, насправді - він повідомляє компілятору, що ви намагаєтесь перевизначити щось - отже, спробуйте відмовитися, якщо метод не перевизначає щось, наприклад. через помилку в назві. Це просто як override - це ключове слово, яке є частиною декларації методу в C #. Це допомагає вам бути явним про те, що ви робите, що допомагає запобігти помилкам, а також полегшує ваш код майбутнім читачам.

21
додано
Дякую. Я взяв щось далеко від кожної відповіді тут. Я і новий, щоб стек, тому, будь ласка, не ображайте, якщо я не подякував кожній відповіді. Я пішов безпосередньо до інформації про Java і шукав абстрактні класи і поліморфізм. Щоб повторювати моє розуміння, називаючи onCreate (), він просто має основні компоненти для створення основної діяльності, що використовується ОС. коли @overide вступає у гру, ви в основному їдете на onCreate (), щоб зробити це, що ви хочете зробити у вашій програмі. Я думаю, що я зробив це важче, ніж це повинно бути, але принаймні я зробив це!
додано Автор JBlaza, джерело

Ну, якщо ви розумієте основи анотації @Override, це просто метадані інформації, яка заповнює дві цілі:

  • Опишіть, що метод перевизначено, оскільки він визначено в інтерфейсі або розширеному класі

  • Допомагає точно визначити, який метод локально оголошений, і які є найголовнішими, оскільки в Android ви, ймовірно, поширюватиметься з фрагмента, активності, служб, BroadcastReceiver тощо, це хороша практика, що полегшить ваш код.

Що стосується проблеми, яку ви не бачите в стилі Java, це відбувається не тільки тому, що це досить нова функція (не нова, починаючи з 2005 року), а тому, що ви не переоцінюєте метод, який багато в Java, принаймні не в Swing або SWT, найчастіше ви знайдете їх у TableModel або коли це Servlet в розширених класах HttpServlet

7
додано

because you override a lot of methods , example ;when you create your Activity ( which extends Activity ) you need to override the method onCreate( Bundle savedInstanceState) to initialize your Activity , and so on , every time you override a method from a mother Class , eclipse add the annotation @override

2
додано

@Override means that you want to re-define function from superclass in child class. Read more about abstract methods, classes, polymorphism.

2
додано

Я майже нічого не знаю про програмування Android, але примітка @ Override-annotation використовується для того, щоб показати, що метод замінює метод supeclass (або реалізує метод інтерфейсу в Java 1.6). Окрім чисто документального значення анотації, принаймні, Eclipse також попереджає вас (або позначає його помилкою, залежно від ваших налаштувань), якщо метод насправді не перевизначає будь-який метод суперкласу, коли ви це думаєте (таким чином запобігаючи певній помилці полювання) Може бути, Android-компілятор просто за замовчуванням вимагає, щоб всі основні методи були анотовані за допомогою @Override.

1
додано

@override means you are borrowing methods from available class and are not defined by the programmer.

1
додано
Подивіться на прийняту відповідь
додано Автор raam86, джерело

Це не потрібно для Java і Android. Ви часто бачите це в програмах Android, оскільки Eclipse додає їх автоматично, коли ви створюєте нову активність, метод тощо. Якщо видалити анотацію @Override, нічого не буде застосовано.

0
додано

@overide це щось на зразок віртуального методу в c ++, метод oncreate в android більше схожий на віртуальний bool Oninit() у wxWidget, цей метод використовується android (Oncreate) для побудови вашого графічного інтерфейсу, тому що графічний інтерфейс відрізняється від того, хто програмує код в Oncreate змінити теж саме тому ми повинні перекрити його. Ми перекриваємо будь-який метод, який використовується бібліотекою, і ми хочемо налаштувати. Oncreat (), як Oninit() - це той метод, який ми хочемо налаштувати.

0
додано
ІТ КПІ - Java
ІТ КПІ - Java
436 учасників

android_jobs_ua
android_jobs_ua
120 учасників

Публикуем вакансии и запросы на поиск работы по направлению Android. Здесь всё: full-time, part-time, remote и разовые подработки.

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.