[java 基础] 类名.Class

提供初学者了解

  1. java虚拟机一开始的时候是不加载这个类的所以这个类的一些静态变量之类的董事是不存在的,只有当你第一次使用这个类的时候虚拟机才会加载这个类。在虚拟机当中存在Class这个类,其他的类的的名称加上.class(即类名.class)是这个类的一个对象。当我们需要使用这个类的时候可以用class的函数通过类名.class来加载这个类或者直接通过使用这个类来让虚拟机加载你的类.

当要生成一个类型的对象是会先去检查是否已经存在该类的Class对象,否则视为该类为被加载!~

在Java中,每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息。

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

public class Test10 {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 得到类名(不包含包名)
		System.out.println(String.class.getSimpleName());// String
		// 得到类的全名称(包含所在的包名)
		System.out.println(String.class.getName());// java.lang.String
		System.out.println(Test10.class.getName());// Test10
	}
}

获取Class 对象方式:

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

try {
		Class.forName("oracle.jdbc.driver.Driver");// 注册驱动
} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
}

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

public class Test10 {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Test test = new Test();
		System.out.println(test10.getClass());// class Test10
		System.out.println(Test10.class);// class Test10
	}
}
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是汤圆丫

怎么 给1分?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值