package annotion;
public class test04 {
public static void main(String[] args) throws ClassNotFoundException {
Person person = new Students();
System.out.println("这个是"+ person.name);
//方式一 通过对象获得
Class c = person.getClass();
System.out.println(c.hashCode());
// 方式二 forname
Class c1 = Class.forName("annotion.Students");
System.out.println(c1.hashCode());
// 通过类名.class
Class c3 = Students.class;
System.out.println(c3.hashCode());
//方式四 :基本内置的包装类
Class c4 = Students.class;
System.out.println(c4);
//获得父类类型
Class c5 = c1.getSuperclass();
System.out.println(c5);
}
}
// 构建一个抽象类
class Person{
public String name;
public Person() {
}
public Person(String name) {
this.name = name;
}
@Override
public String toString() {
反射机制与注解(三) ==== 类加载顺序?
本文探讨了Java中类加载的顺序,包括静态变量、静态代码块、成员变量、构造器等在类继承情况下的执行流程。在实例化对象时,类加载器先加载类到内存,静态资源在类加载时分配内存,非静态资源在实例化时分配。通过一个例子展示了类加载的具体过程。
摘要由CSDN通过智能技术生成