Wiem, co to znaczy w komentarzu do celów dokumentacyjnych, ale poza tym, co to znaczy? (Normalnie po prostu google to, ale każdy symbol non-letter pojawia się w wynikach)w języku Java co oznacza symbol @?
Odpowiedz
Symbol @ oznacza Java opisów. To, co robi adnotacja Java, polega na dodaniu specjalnego atrybutu do zmiennej, metody, klasy, interfejsu lub innych elementów językowych. (Można to skonfigurować, gdy zadeklarujesz adnotację) Kiedy dodasz adnotację do czegoś, inne części programu mogą sprawdzić, czy coś ma adnotację, czy nie. Następnie może wykorzystać te informacje, aby zrobić wszystko, czego potrzebują.
Podam kilka przykładów:
@Override
adnotacja:
public class SuperClass {
public void someMethod() {
System.out.println ("Superclass!");
}
}
public class DerivedClass extends SuperClass {
@Override
public void someMethod() {
System.out.println ("Derived class!");
}
}
I kiedy to zrobić:
SuperClass sc = new DerivedClass();
sc.someMethod();
będzie wykonać someMethod
w SuperClass
, prawda? Nie. Wypisze "Klasa pochodna!". Dzieje się tak dlatego, że w klasie pochodnej istnieje ta sprawa. Tak więc pochodna klasa przesłania super klasy someMethod
.
@SuppressWarnings
Adnotacja:
Oto metoda:
public void someMethod() {
int i;
}
Nie będzie ostrzeżenie kompilatora mówiąc, że i
nigdy nie jest używany. Więc można dodać @SuppressWarnings
metody do sankcjonowania ostrzeżenie:
@SuppressWarnings ("unused")
public void someMethod() {
int i;
}
pamiętać, że nie jest parametrem do @SuppressWarnings
adnotacji. Niektóre adnotacje mają parametry i możesz je wyszukać w javadoc. Ale dla tych, którzy nie mają parametrów, nie musisz dodawać ()
jak metody.
Możesz również zadeklarować własne adnotacje i użyć odbicia, aby je sprawdzić. Powyższe 2 adnotacje zostaną sprawdzone przez kompilator.
'@ Zastępowanie' NIE jest konieczne do przesłonięcia metody, jak w twoim przykładzie; ten przykład działałby nawet po usunięciu '@ Override'. "@ Override" istnieje, aby wskazać czytelnikowi, że metoda została nadpisana, a także zapewnić, że metoda zostanie nadpisana. Na przykład, jeśli zrobiłeś literówkę w nazwie metody podklasy, twoja metoda nie byłaby przesłonięciem metody superklasy (z powodu jej innej nazwy). Zwykle byłoby to w porządku, ale jeśli dodałeś adnotację do '@ Override', pojawiłby się błąd kompilatora informujący cię, że oczekuje on nadpisanej metody. – Alexander
Symbol @ jest używany do annotations. Z mojego doświadczenia wynika, że najczęstszą adnotacją jest @Override
, co oznacza, że metoda jest zadeklarowana w nadklasie. Inne typowe adnotacje to @Deprecated
, co oznacza, że nie należy już stosować metody, ale nadal istnieje zgodność wsteczna i @SupressWarnings
, aby zapobiec wyświetlaniu ostrzeżeń w kompilatorze.
Należy pamiętać, że w rzeczywistości można uzyskać adnotacje, które nie są zawarte w podstawowych bibliotekach Java i zadeklarować własne adnotacje.
Znak @ służy do określania adnotacji Java.
https://en.wikipedia.org/wiki/Java_annotation
Tam są wbudowane w Java Adnotacja i zdefiniowane przez użytkownika niestandardowego adnotacji.
adnotacje są stosowane na różne sposoby, na przykład ostrzeżenie tłumić stowarzyszonego metodą URI (do serwletów), zmienne stowarzyszonej do zasobów (JNDI) itp
Jak niektórzy sugerują, jest to adnotacja Javy. Pomaga to kompilatorowi sprawdzić poprawność kodu i powiadomić programistę.
Bardzo prosty przykład kodu:
public class SomeClass {
@Override
public String toString() {
return "SomeClass";
}
@Deprecated
public void doSomeOperation() {
// some operation...
}
}
Adnotacja z SomeClass#toString
który jest @Override
pomaga kompilatora, aby określić, że jest to przesłonięte funkcja z niejawnego spadku do klasy Object
.
Podczas gdy adnotacja z SomeClass#doSomeOperation
ostrzega programistę, że sama funkcja jest już przestarzała i należy jej unikać.
Adnotacje dotyczą czytnika lub kompilatora, a nie kodu wykonywalnego.
- 1. Co oznacza symbol "#" w TSQL?
- 2. Co oznacza symbol @ w R?
- 3. Co oznacza symbol <??> w języku C# .NET?
- 4. Co oznacza symbol @@ ("at at") w języku JavaScript ES6?
- 5. Co oznacza symbol @ przed nazwą zmiennej w języku C#?
- 6. Co oznacza ten symbol zaćmienia?
- 7. Co oznacza symbol "\ u001B [J"?
- 8. Co oznacza symbol <> w MSIL?
- 9. Co oznacza symbol >> w Haskell
- 10. Co oznacza symbol "To" w Scali?
- 11. Co oznacza ten symbol w PHP <? =
- 12. Co oznacza symbol tylda (~) w CSS
- 13. Co oznacza "[to]" oznacza w języku C++
- 14. W języku Mathematica, co oznacza @@@?
- 15. Co oznacza znak "?" symbol (znak zapytania) oznacza w Scali?
- 16. Ruby on Rails: co oznacza symbol =>?
- 17. Co oznacza <T> (nawiasy ostrokątne) w języku Java?
- 18. W języku java -D co oznacza skrót D?
- 19. Co oznacza ">>>" w języku Java?
- 20. Co oznacza ta deklaracja klasy w języku Java?
- 21. Co oznacza mapa <?, ?> w języku Java?
- 22. Java - Co oznacza "\ n"?
- 23. Co oznacza locals() ['_ [1]'] w języku Python?
- 24. Co oznacza ten komunikat w języku Python?
- 25. Co oznacza .d w języku JSON?
- 26. Co oznacza znak + = w języku Visual Basic?
- 27. Co oznacza termin "leksykalny" w języku C++?
- 28. W języku F #, co oznacza potokowanie?
- 29. Co oznacza "SKU" (atrybut) w języku C#?
- 30. W języku Ruby, co dokładnie oznacza tLABEL?
http://stackoverflow.com/questions/24221/java-annotations – fdsa
http://stackoverflow.com/questions/19551022/the-symbol-in-java – edtheprogrammerguy
możliwy duplikat [Jak uzyskać fajny adres URL "http://stackoverflow.com/questions/1074/asp-mvc"](http://stackoverflow.com/questions/1227348/how-to-get-a-nice-url-like-http-stackoverflow-com -questions-1074-asp-mvc) – fdsa