三种获取Class的对象的方法

时间:2021-06-06作者:klpeng分类:IT综合浏览:332评论:0

 

获取Class的对象有很多方式,下面将以String类为例。

1.反射。用到了Class类中的静态方法forName(String className).传入的字符串参数是类的全路径名。因为可以传入字符串,所以这种方法也可以用到配置文件中,使其修改路径更加方便。

	@SuppressWarnings("rawtypes")
    Class cls = Class.forName("java.lang.String");

	System.out.println(cls);
		

2.通过类的实例对象调用getClass()方法,这个方法是继承Object类得来的。


		String str = "csdn";

		Class cls2 = str.getClass();

		System.out.println(cls2);

3.根据类名直接获取对应的Class的对象 : 类名.class


		Class cls1 = String.class;
		System.out.println(cls1);
		
	

如果返回的Class对象不是泛型的话,编译器会出现警告,只需要添加 @SuppressWarnings("rawtypes")。就不会警告了。

以上三种输出的实例都是一致的,


public class ClassTest {
	
	public static void main(String[]args) throws Exception {
		@SuppressWarnings("rawtypes")
		Class cls = Class.forName("java.lang.String");
		System.out.println(cls);
		
		@SuppressWarnings("rawtypes")
		Class cls1 = String.class;
		System.out.println(cls1);
		
		String str = "csdn";
		@SuppressWarnings("rawtypes")
		Class cls2 = str.getClass();
		System.out.println(cls2);
		
		System.out.println(cls==cls1);
		System.out.println(cls==cls2);
		System.out.println(cls2==cls1);
	}
}

运行结果:

三种获取Class的对象的方法

打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢