三种获得class对象方法

java代码在计算机分为三个阶段源代码阶段,类对象阶段和运行阶段,而在不同的阶段可用不同的方法来获取class对象
下面就介绍在不同阶段用的不同方法

package reflect;

import hj.linshi.Caclulator;
//三种获得class对象方法
public class getclass {
    public static void main(String[] args) throws ClassNotFoundException {

一源代码阶段为Java代码在计算机第一个阶段,将字节码文件加载进内存,返回Class对象,通常用于配置文件,将类名定义在配置文件中 ,读取文件,加载类*

 Class<?> a = Class.forName("hj.linshi.Caclulator");//全类名
      System.out.println(a);

类对象阶段 为Java代码在计算机第二个阶段,通过类名的属性Class获取,通常用于参数的传递

  Class<Caclulator> b = Caclulator.class;
        System.out.println(b);

运行阶段为Java代码在计算机第三个阶段,为Object的方法,通常用于通过对象获取字节码

Caclulator s=new Caclulator();
    Class<? extends Caclulator> c = s.getClass();
    System.out.println(c);
    System.out.println(a==b);
    System.out.println(a==c);
       }
    }

同一个字节码文件即.class文件再一次程序运行时只会被加载一次,不论通过哪一种方式获取class对象,获取的都是同一个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值