Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.41 KB | None | 0 0
  1. import java.lang.reflect.Modifier;
  2.  
  3. public class IntegerReflection {
  4. public static void main(final String[] args) {
  5. System.out.println(String.format("int.class == Integer.class -> %b", int.class == Integer.class));
  6. System.out.println(String.format("int.class modifiers: %s", Modifier.toString(int.class.getModifiers())));
  7. System.out.println(String.format("Integer.class modifiers: %s", Modifier.toString(Integer.class.getModifiers())));
  8. }
  9. }
  10.  
  11. int.class == Integer.class -> false
  12. int.class modifiers: public abstract final
  13. Integer.class modifiers: public final
  14.  
  15. System.out.println(Modifier.toString(int.class.getModifiers()));
  16.  
  17. public abstract final
  18.  
  19. int a = new int();
  20.  
  21. System.out.println(int.class.getSuperclass());
  22.  
  23. int a = 4;
  24. System.out.println(int.class.isInstance(a));
  25.  
  26. Method[] intMethods = int.class.getMethods();
  27.  
  28. if(intMethods.length == 0) {
  29. System.out.println("No methods.");
  30. }
  31. else {
  32. for(Method method : intMethods) {
  33. System.out.println(method.getName());
  34. }
  35. }
  36.  
  37. Constructor[] intConstructors = int.class.getConstructors();
  38.  
  39. if(intConstructors.length == 0) {
  40. System.out.println("No constructors.");
  41. }
  42. else {
  43. for(Constructor constructor: intConstructors) {
  44. System.out.println(constructor.getName());
  45. }
  46. }
  47.  
  48. Field[] intFields = int.class.getFields();
  49.  
  50. if(intFields.length == 0) {
  51. System.out.println("No fields.");
  52. }
  53. else {
  54. for(Field field: intFields) {
  55. System.out.println(field.getName());
  56. }
  57. }
  58.  
  59. > a. Should be accessible from within the language: Make it `public`
  60. > b. Should not be extensible : Make it `final`
  61. > c. Should not be instantiated with `new` : Make it `abstract`.
  62.  
  63. mirror::Class* ClassLinker::InitializePrimitiveClass(ObjPtr<mirror::Class> primitive_class,
  64. Primitive::Type type) {
  65.  
  66. Handle<mirror::Class> h_class(hs.NewHandle(primitive_class));
  67. // public final static
  68. h_class->SetAccessFlags(kAccPublic | kAccFinal | kAccAbstract);
  69. h_class->SetPrimitiveType(type);
  70. h_class->SetIfTable(GetClassRoot(kJavaLangObject)->GetIfTable());
  71.  
  72. // ...
  73. return h_class.Get();
  74. }
  75.  
  76. public class absBase{
  77.  
  78. private string name;
  79. private int ID;
  80.  
  81. public abstract int GetID();
  82. }
  83.  
  84. public class concreteClass:absBase{
  85. @Override
  86. public int GetID(){
  87. return ID + 1;
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement