Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.lang.reflect.Modifier;
- public class IntegerReflection {
- public static void main(final String[] args) {
- System.out.println(String.format("int.class == Integer.class -> %b", int.class == Integer.class));
- System.out.println(String.format("int.class modifiers: %s", Modifier.toString(int.class.getModifiers())));
- System.out.println(String.format("Integer.class modifiers: %s", Modifier.toString(Integer.class.getModifiers())));
- }
- }
- int.class == Integer.class -> false
- int.class modifiers: public abstract final
- Integer.class modifiers: public final
- System.out.println(Modifier.toString(int.class.getModifiers()));
- public abstract final
- int a = new int();
- System.out.println(int.class.getSuperclass());
- int a = 4;
- System.out.println(int.class.isInstance(a));
- Method[] intMethods = int.class.getMethods();
- if(intMethods.length == 0) {
- System.out.println("No methods.");
- }
- else {
- for(Method method : intMethods) {
- System.out.println(method.getName());
- }
- }
- Constructor[] intConstructors = int.class.getConstructors();
- if(intConstructors.length == 0) {
- System.out.println("No constructors.");
- }
- else {
- for(Constructor constructor: intConstructors) {
- System.out.println(constructor.getName());
- }
- }
- Field[] intFields = int.class.getFields();
- if(intFields.length == 0) {
- System.out.println("No fields.");
- }
- else {
- for(Field field: intFields) {
- System.out.println(field.getName());
- }
- }
- > a. Should be accessible from within the language: Make it `public`
- > b. Should not be extensible : Make it `final`
- > c. Should not be instantiated with `new` : Make it `abstract`.
- mirror::Class* ClassLinker::InitializePrimitiveClass(ObjPtr<mirror::Class> primitive_class,
- Primitive::Type type) {
- Handle<mirror::Class> h_class(hs.NewHandle(primitive_class));
- // public final static
- h_class->SetAccessFlags(kAccPublic | kAccFinal | kAccAbstract);
- h_class->SetPrimitiveType(type);
- h_class->SetIfTable(GetClassRoot(kJavaLangObject)->GetIfTable());
- // ...
- return h_class.Get();
- }
- public class absBase{
- private string name;
- private int ID;
- public abstract int GetID();
- }
- public class concreteClass:absBase{
- @Override
- public int GetID(){
- return ID + 1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement