Interesuję się klasami w pliku Jar i chcę znaleźć te, które nie są abstrakcyjne. Mogę rozwiązać ten problem przez tworzenie instancji klas i wychwytywanie wyjątku InstantiationException, ale ma to działanie, ponieważ niektóre klasy mają ciężki start. Nie mogę znaleźć niczego, oczywiście jak isAbstract() w dokumentacji Class.java.Jak określić, czy klasa Java jest abstrakcyjna przez odbicie
Odpowiedz
Będzie zawierać abstrakcję jako jeden ze swoich modyfikatorów, gdy wywołasz metodę getModifiers() na obiekcie klasy.
Ta pomocna może być ta link.
Modifier.isAbstract(someClass.getModifiers());
również:
http://java.sun.com/javase/6/docs/api/java/lang/reflect/Modifier.html
http://java.sun.com/javase/6/docs/api/java/lang/Class.html#getModifiers()
Class myClass = myJar.load("classname");
bool test = Modifier.isAbstract(myClass.getModifiers());
Ponadto, co powiedział seth. :) – Stobor
public static boolean isInstantiable(Class<?> clz) {
if(clz.isPrimitive() || Modifier.isAbstract(clz.getModifiers()) ||clz.isInterface() || clz.isArray() || String.class.getName().equals(clz.getName()) || Integer.class.getName().equals(clz.getName())){
return false;
}
return true;
}
jeśli jest to interfejs, a nazwa klasy to java.util.List, możesz utworzyć ArrayList –
- 1. Jak sprawdzić, czy klasa Java jest abstrakcyjna?
- 2. Klasa abstrakcyjna - Super Konstruktor (Java)
- 3. Java Klasa abstrakcyjna i generics
- 4. Czy klasa abstrakcyjna ma serialVersionUID
- 5. Java abstrakcyjna klasa implementuje interfejs
- 6. abstrakcyjna klasa dziedziczy inną klasa abstrakcyjna problem
- 7. Klasa abstrakcyjna lub pomocnik Klasa
- 8. Jak sprawdzić, czy klasa Delphi jest deklarowana jako abstrakcyjna?
- 9. ActiveAndroid klasa abstrakcyjna tabela
- 10. abstrakcja kontra abstrakcyjna klasa
- 11. Zapewnienie klasa abstrakcyjna bas jest shared_ptr
- 12. Scala Extended Sparametryzowana Klasa Abstrakcyjna
- 13. Konwencja nazewnictwa klas C: Czy jest to klasa BaseClass lub klasa klasy lub Klasa abstrakcyjna
- 14. Klasa abstrakcyjna i interfejs razem?
- 15. Czy w Java jest klasa okręgu, jak klasa Rectangle
- 16. java dostęp Integer konstruktor przez odbicie
- 17. Klasa abstrakcyjna/metoda, jak C# -> VB.NET
- 18. Klasa abstrakcyjna C++ bez czystych funkcji wirtualnych?
- 19. Jak mogę ogólnie stwierdzić, czy klasa Java jest typem pierwotnym?
- 20. Jak określić, czy pole ma "nowy" modyfikator poprzez odbicie?
- 21. Klasa nie jest abstrakcyjna i nie Przestawianie błąd w Javie
- 22. Co sprawia, że pylin myśli, że moja klasa jest abstrakcyjna?
- 23. Dziedziczenie spadkowe: klasa abstrakcyjna - Który STWÓRCA?
- 24. Jak uzyskać wartość ciągu z pola Java przez odbicie?
- 25. Typy generyczne a Klasa abstrakcyjna/Interfejsy
- 26. php klasa abstrakcyjna rozszerzająca kolejną abstrakcyjną klasę
- 27. Czy klasa abstrakcyjna może być używana jako typ odniesienia?
- 28. Który z nich jest szybki, Klasa abstrakcyjna lub interfejs?
- 29. Klasa "Pokój" jest abstrakcyjna; nie można utworzyć instancji
- 30. Interfejs lub Klasa abstrakcyjna do spełnienia
Dzięki! Jedna mała uwaga: nie możesz użyć "class" jako nazwy zmiennej, może chcesz zmienić swój przykład. –