Tôi đang xen kẽ thông qua các lớp trong tệp Jar và muốn tìm những lớp không trừu tượng. Tôi có thể giải quyết điều này bằng cách instantiating các lớp học và bẫy InstantiationException nhưng có một hit hiệu suất như một số lớp học có khởi động nặng. Tôi không thể tìm thấy bất cứ điều gì rõ ràng như isAbstract() trong tài liệu Class.java.Làm cách nào để xác định xem một lớp Java có trừu tượng hay không bằng cách phản chiếu
Trả lời
Nó sẽ có trừu tượng như một trong các công cụ sửa đổi của nó khi bạn gọi hàm getModifiers() trên đối tượng lớp.
Điều này link sẽ giúp ích.
Modifier.isAbstract(someClass.getModifiers());
Ngoài ra:
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());
Ngoài ra, những gì seth nói. :) – 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;
}
nếu nó là một giao diện và tên lớp là java.util.List bạn có thể sẽ tạo ArrayList –
- 1. Django - cách xác định xem lớp mô hình có trừu tượng hay không
- 2. Làm cách nào để kiểm tra xem phương pháp có tĩnh hay không bằng cách sử dụng phản chiếu?
- 3. Làm cách nào để biết một lớp Java có trừu tượng không?
- 4. Java: Cách kiểm tra xem một phương pháp có bị ghi đè hay không, sử dụng phản chiếu
- 5. Cách xác định xem GraphicsEnvironment có tồn tại hay không
- 6. Cách xác định xem tham chiếu Lớp có phải là giao diện không?
- 7. Java: cách thích hợp để có được lớp của một mảng nguyên thủy để phản chiếu
- 8. Làm cách nào để xác định xem một trường có công cụ sửa đổi 'mới' thông qua phản chiếu?
- 9. Làm cách nào để so sánh các lớp học bằng cách sử dụng sự phản chiếu?
- 10. Làm thế nào tôi có thể xác định xem một phương pháp trừu tượng có được triển khai không?
- 11. Làm cách nào để xác định xem có thử trả lại lỗi hay không?
- 12. Làm cách nào để kiểm tra xem một lớp groovy có thuộc tính tĩnh hay không?
- 13. Có cách nào để xác định xem Java System.in có "tương tác" không?
- 14. Làm cách nào để xác định xem trang ASP.NET có rò rỉ bộ nhớ hay không
- 15. Làm cách nào để xác định xem ứng dụng .NET có 32 hay 64 bit không?
- 16. Có cách nào để xác định xem một PID Linux bị tạm dừng hay không?
- 17. Xác định xem thuộc tính có phải là loại mảng không bằng cách phản ánh
- 18. Làm cách nào để xác định xem ngày có nằm trong hai ngày trong Java không?
- 19. Nếu một lớp trừu tượng có serialVersionUID
- 20. Mục tiêu C có thể xác định tham chiếu đối tượng người gọi trong thời gian chạy (phản chiếu) không?
- 21. Xác định xem một lớp có thực hiện một giao diện rất cụ thể hay không
- 22. Làm cách nào để xem một lớp học có tài sản hay không?
- 23. Truy cập hàm tạo từ lớp cơ sở trừu tượng với sự phản chiếu
- 24. Có cách nào để xác định lại một gợi ý kiểu cho một lớp con cháu khi mở rộng một lớp trừu tượng không?
- 25. Java: Xác định vị trí cách sử dụng mã phản chiếu
- 26. Cách gọi phương thức lớp trừu tượng trong java
- 27. Làm cách nào để xác định xem đối tượng jQuery có bị trì hoãn không?
- 28. Java: Trường tĩnh trong lớp trừu tượng
- 29. Lớp trừu tượng bắt nguồn từ lớp không trừu tượng
- 30. Làm cách nào để xác định các lớp nào được chương trình Java sử dụng?
Cảm ơn! Một lưu ý nhỏ: Bạn không thể sử dụng "class" làm tên biến, có thể bạn muốn thay đổi ví dụ của mình. –