73 import jdk.internal.misc.Unsafe;
74 import jdk.internal.module.Resources;
75 import jdk.internal.reflect.CallerSensitive;
76 import jdk.internal.reflect.ConstantPool;
77 import jdk.internal.reflect.Reflection;
78 import jdk.internal.reflect.ReflectionFactory;
79 import jdk.internal.vm.annotation.ForceInline;
80 import sun.invoke.util.Wrapper;
81 import sun.reflect.generics.factory.CoreReflectionFactory;
82 import sun.reflect.generics.factory.GenericsFactory;
83 import sun.reflect.generics.repository.ClassRepository;
84 import sun.reflect.generics.repository.MethodRepository;
85 import sun.reflect.generics.repository.ConstructorRepository;
86 import sun.reflect.generics.scope.ClassScope;
87 import sun.security.util.SecurityConstants;
88 import sun.reflect.annotation.*;
89 import sun.reflect.misc.ReflectUtil;
90
91 /**
92 * Instances of the class {@code Class} represent classes and interfaces
93 * in a running Java application. An enum type is a kind of class and an
94 * annotation type is a kind of interface. Every array also
95 * belongs to a class that is reflected as a {@code Class} object
96 * that is shared by all arrays with the same element type and number
97 * of dimensions. The primitive Java types ({@code boolean},
98 * {@code byte}, {@code char}, {@code short},
99 * {@code int}, {@code long}, {@code float}, and
100 * {@code double}), and the keyword {@code void} are also
101 * represented as {@code Class} objects.
102 *
103 * <p> {@code Class} has no public constructor. Instead a {@code Class}
104 * object is constructed automatically by the Java Virtual Machine
105 * when a class loader invokes one of the
106 * {@link ClassLoader#defineClass(String,byte[], int,int) defineClass} methods
107 * and passes the bytes of a {@code class} file.
108 *
109 * <p> The methods of class {@code Class} expose many characteristics of a
110 * class or interface. Most characteristics are derived from the {@code class}
111 * file that the class loader passed to the Java Virtual Machine. A few
112 * characteristics are determined by the class loading environment at run time,
113 * such as the module returned by {@link #getModule() getModule()}.
|
73 import jdk.internal.misc.Unsafe;
74 import jdk.internal.module.Resources;
75 import jdk.internal.reflect.CallerSensitive;
76 import jdk.internal.reflect.ConstantPool;
77 import jdk.internal.reflect.Reflection;
78 import jdk.internal.reflect.ReflectionFactory;
79 import jdk.internal.vm.annotation.ForceInline;
80 import sun.invoke.util.Wrapper;
81 import sun.reflect.generics.factory.CoreReflectionFactory;
82 import sun.reflect.generics.factory.GenericsFactory;
83 import sun.reflect.generics.repository.ClassRepository;
84 import sun.reflect.generics.repository.MethodRepository;
85 import sun.reflect.generics.repository.ConstructorRepository;
86 import sun.reflect.generics.scope.ClassScope;
87 import sun.security.util.SecurityConstants;
88 import sun.reflect.annotation.*;
89 import sun.reflect.misc.ReflectUtil;
90
91 /**
92 * Instances of the class {@code Class} represent classes and interfaces
93 * in a running Java application. An enum type and a record type are kinds of class; an
94 * annotation type is a kind of interface. Every array also
95 * belongs to a class that is reflected as a {@code Class} object
96 * that is shared by all arrays with the same element type and number
97 * of dimensions. The primitive Java types ({@code boolean},
98 * {@code byte}, {@code char}, {@code short},
99 * {@code int}, {@code long}, {@code float}, and
100 * {@code double}), and the keyword {@code void} are also
101 * represented as {@code Class} objects.
102 *
103 * <p> {@code Class} has no public constructor. Instead a {@code Class}
104 * object is constructed automatically by the Java Virtual Machine
105 * when a class loader invokes one of the
106 * {@link ClassLoader#defineClass(String,byte[], int,int) defineClass} methods
107 * and passes the bytes of a {@code class} file.
108 *
109 * <p> The methods of class {@code Class} expose many characteristics of a
110 * class or interface. Most characteristics are derived from the {@code class}
111 * file that the class loader passed to the Java Virtual Machine. A few
112 * characteristics are determined by the class loading environment at run time,
113 * such as the module returned by {@link #getModule() getModule()}.
|