Class类的创建方式大全

  • Post author:
  • Post category:其他




反射二:Class类的创建方式(Java)

方式一:通过对象获得;
方式二:forname获得;
方式三:通过类名.class获得;
方式四:基本内置类型的包装类都有一个Type属性;
方式五:获得父类类型getSuperclass().

代码示例:

package reflect;

//测试Class类的创建方式有哪些
public class Test03 {
    public static void main(String[] args) throws ClassNotFoundException {
        
        Person person = new Student();
        System.out.println("这个人是:"+person.name);//这个人是:学生

        //方式一:通过对象获得
        Class c1 = person.getClass();
        System.out.println(c1.hashCode());//19997786
        System.out.println(c1);//class reflect.Student

        //方式二:forname获得
        Class c2 = Class.forName("reflect.Student");
        System.out.println(c2.hashCode());//19997786

        //方式三:通过类名.class获得
        Class c3 = Student.class;
        System.out.println(c3.hashCode());//19997786

        //方式四:基本内置类型的包装类都有一个Type属性
        Class c4 = Integer.TYPE;
        System.out.println(c4);  //默认的int类型  int

        //获得父类类型
        Class c5 = c1.getSuperclass();
        System.out.println(c5);//class reflect.Person

    }
}

class Person{
   public String name;
    public Person() {

    }

    public Person(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                '}';
    }
}



class Student extends Person{
    public Student(){
        this.name="学生";
    }
}

class Teacher extends Person{
    public Teacher(){
        this.name="老师";
    }
}



版权声明:本文为weixin_50569789原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。