java 中获取字节码对象的三种方式

java 中获取字节码对象的三种方式

package cn.ms.test;

public class GetClassObject {
    public static void main(String[] args) {
        getClassObjectMethod1();
        getClassObjectMethod2();
        getClassObjectMethod3();
    }
    
    /*
     * 方式一
     * 通过对象获得
     * */
    private static void getClassObjectMethod3() {
        GetClassObject getClassObject1 = new GetClassObject();
        System.out.println(getClassObject1.getClass().getName());
    }

    /*
     * 方式二 重点掌握
     * 通过给定类的字符串名称(全类名)就可获得该类的字节码文件对象,更为扩展。
     * (第一种和第三种都不具有扩展性)
     * */
    private static void getClassObjectMethod2() {
        Class<GetClassObject> getClassObject2 = null;
        try {
            getClassObject2 = (Class<GetClassObject>) Class.forName("cn.ms.test.GetClassObject");
            System.out.println(getClassObject2.getName());
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    
    /*
     * 方式三
     * 任何数据类型都有一个静态的属性 .class来获取其对应类的字节码文件对象
     * 相对简单,但是还是要明确用到类中的静态成员。还是不够扩展!
     * */
    private static void getClassObjectMethod1() {
        Class getClassObject3 = GetClassObject.class;
        System.out.println(getClassObject3.getName());
    }
}

 

转载于:https://www.cnblogs.com/ms-grf/p/9026343.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101668.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 怎么查看git的用户名和密码_git修改用户名密码命令

    怎么查看git的用户名和密码_git修改用户名密码命令转载自:https://www.cnblogs.com/xihailong/p/13354628.html一、查看查看用户名:gitconfiguser.name查看密码:gitconfiguser.password查看邮箱:gitconfiguser.email查看配置信息:$gitconfig–list二、修改修改用户名gitconfig–globaluser.name“xxxx(新的用户名)”修改密码gitconfig–globaluse

    2022年9月6日
  • Spring 中拦截器(Interceptor)与过滤器(Filter)的区别

    Spring 中拦截器(Interceptor)与过滤器(Filter)的区别Spring 中拦截器(Interceptor)与过滤器(Filter)的区别

    2022年4月23日
  • Java数组转Json数组「建议收藏」

    Java数组转Json数组「建议收藏」packagecom.cnic.test.coding;importcom.alibaba.fastjson.JSONArray;publicclassArrToJson{publicstaticvoidmain(String[]args){int[]my=newint[5];my[0]=0;my[1]=1;my[2]=2;my[3]=3;.

    2022年6月21日
  • 小弟博客_博客来网址

    小弟博客_博客来网址原来位于Google上的博客在国内基本不能访问了,现在找了个新家,准备发布一些我这些年来编写的东西,主要集中在算法研究和程序设计上,语言主要是.NET(C#)和Delphi,当然,其它软件开发、算法相关的许多东西也会陆续加入,例如:JavaScript、XML、Web技术等等,另外也会有极少量的与IT行业不相关的东西。旧的不去,新的不来,旧博客关了也好,新博客总算是中文的…

    2022年10月4日
  • opkg update失败问题解决

    opkg update失败问题解决执行opkgupdate提示找不文件。root@EC2022v:~/clienttest#opkgupdateDownloadinghttp://downloads.openwrt.org/barrier_breaker/14.07/at91/generic/packages/base/Packages.gz.wget:serverreturnederror:HTTP/1.0…

    2022年6月5日
  • 关于FindWindow函数「建议收藏」

    关于FindWindow函数「建议收藏」在调用FindWindow函数的时候,应该第一个参数为空,第二个参数为窗口的标题名。classname是窗口在创建时的注册名称,不是源代码的类名,通常可以不指定,除非确切地知道。另外,vs自带一个spy++的工具,可以探查当前所有窗口的信息,包括注册类名。FindWindow这个函数检索处理顶级窗口的类名和窗口名称匹配指定的字符串。这个函数有两个参数,第一个是要找的窗口的类,第二个是要找的窗口的…

    2022年8月13日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号