如何创建Class对象?

想要知道如何创建Class对象?

首先明白class类的四大特性:

  1. 该类在java.lang包中;
  2. 该类被final所修饰,即该类不可以被子类继承;
  3. 该类实现了Serializable接口;
  4. 该类的构造方法被private所修饰,即不能通过new关键字创建该类的对象;

至于如何创建class对象,不多说都在代码里:

事先创建一个Student类:

package youxiu;

public class Student {
	

}
package youxiu;

public class Test {
	public static void main(String[] args) {
	
		//反射是一种新的操作类中属性、构造方法、普通方法的机制
		Class clazz =null;
		
		try {
			
			clazz=Class.forName("youxiu.Student");
			System.out.println("CLass.forName:"+clazz.getName());
			
			clazz=Student.class;
			System.out.println("类名.Class:"+clazz.getName());
			
			clazz=new Student().getClass();
			System.out.println("对象.getClass():"+clazz.getName());
			
			clazz=	Integer.class;
			System.out.println("包装类.class:"+clazz.getName());
			
			clazz= Integer.TYPE;
			System.out.println("基本数据类型包装类.TYPE:"+clazz.getName());
			
			clazz= String[].class;
			System.out.println("数组数据类型[].class:"+clazz.getName());
			
			//获取父类的class对象的三种方法:
			System.out.println("获取父类的class对象的三种方法:");
			clazz=Class.forName("youxiu.Student").getSuperclass();
			System.out.println("1、子类Class对象.getSuperclass():"+clazz.getName());
			
			clazz=Student.class.getSuperclass();
			System.out.println("2、子类Class对象.getSuperclass():"+clazz.getName());
			
			clazz = new Student().getClass().getSuperclass();
			System.out.println("3、子类Class对象.getSuperclass():"+clazz.getName());
			
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
}

执行结果如下:

如何创建Class对象?_第1张图片

 

你可能感兴趣的:(如何创建Class对象?)