.class和getClass()

    java世界里一切皆是对象,所有类都默认继承Object类。        Class 类是java中的类型类,每个java对象的class类型都属于Class类型类的实例对象。       
     Class类也可以看成一个对象。   
          如何获取一个java对象的类型类       
     1,使用Object.getClass()方法。此处的Object需要先示例对象,才能调用该方法       
      2,使用java类.class 方法获取,此处为静态获取,不需要实例化对象       
       3,Class.forName("")  Class类的静态方法,也可以获取         

public static void main(String[] args) {
try {
Class clazz = Class.forName(""); //动态获取一个Class类型。运行时加载
clazz.getClass();//动态获取Class类型,这是对象实例化后的方法,基类Object类的方法。编译时加载。getClass()不是静态方法,不能用于static修饰的对象、方法、静态块
Class clazz1 = Map.class;//静态获取Class类型。不需要对象实例化,根据类名即可调用。编译时加载
//clazz.getClass(), Map.class效果是一样的,得出的结果进行equal比对是相等的
new HashMap();//静态加载。
} catch (ClassNotFoundException e) {
e.printStackTrace();
}}

(2).Test.class;

 在编译时确定,返回当前类的类对象实例。不会加载静态变量

 获得父类类对象: Test.class.getSuperclass()

(3).Class.forName(“类路径”);会加载静态变量,比如jdbc驱动利用这个加载一些静态属性

 通过静态方法获取类对象,Class.forName("com.wan.Test");

在运行期间,如果我们要产生某个类的对象,Java虚拟机(JVM)会检查该类型的Class对象是否已被加载。如果没有被加载,JVM会根据类的名称找到.class文件并加载它。一旦某个类型的Class对象已被加载到内存,就可以用它来产生该类型的所有对象

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值