(Java)类名.class 的简单学习

关于 Class 类的学习

其实任何一个类,都会有一个Class对象于这个类对应,在这个Class对象中,保存着实例化该类时所需要的基本信息,A.class 其实返回的是一个类 A 的 Class 对象,贴一个小代码演示一下:

public class Test {
	public static void main(String[] args) {
		// 得到类名(不包含包名)
		System.out.println(String.class.getSimpleName());// String
		// 得到类的全名称(包含所在的包名)
		System.out.println(String.class.getName());// java.lang.String
		System.out.println(Test.class.getName());// Test
	}
}

获取Calss对象的方式主要有三种

第一种:通过Class.forName(“类的全名称”)获取,用这个方法,最常见的应该是应用于JDBC注册驱动的时候用到的

第二种:通过已经实例化的对象获取,getClass()方法获取

第三种:通过类名.class获取

实例:

package org.lxh.test;
class X{
}
public class GetClassDemo {
    public static void main(String[] args) {
       Class<?> c1 = null;//指定泛型
       Class<?> c2 = null;//指定泛型
       Class<?> c3 = null;//指定泛型
        try{
            c1 = Class.forName("org.lxh.test.X");//第一种:最常用的形式
        }catch (ClassNotFoundException e){
            e.printStackTrace();
        }
        c2 = new X().getClass();//第二种:通过 Object 类中方法实例
        c3 = X.class;//第三种:通过类.class实例化
        System.out.println("类名称:" + c1.getName());//得到类的名称
        System.out.println("类名称:" + c2.getName());
        System.out.println("类名称:" + c3.getName());
    }
}

参考:

【1】https://blog.csdn.net/u012453619/article/details/38638313?utm_source=tuicool&utm_medium=referral
【2】https://blog.csdn.net/nanhuaibeian/article/details/104402854

发布了613 篇原创文章 · 获赞 276 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/nanhuaibeian/article/details/104433929
今日推荐