zoukankan      html  css  js  c++  java
  • java中三种方式获得类的字节码文件对象

    package get_class_method;
    
    public class ReflectDemo {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            getClassObject1();
            getClassObject2();
            getClassObject3();
        }
        
        public static void getClassObject1(){
            Person p = new Person();
            System.out.println(p.getClass().getName());
        }
        /*
         * 方式二:重点掌握
         * 通过给定类的字符串名称就可获得该类的字节码文件对象,更为扩展。
         * (第一种和第三种都不具有扩展性)
        */
        public static void getClassObject2(){
             Class<Person> pclass = null;
             try {
                 /*
                  * 类的名字一定要写全(包括该类的包)
                  * 因为工程默认的路径查找时在bin目录或者src目录,如果类名不全,就无法找到该类
                 */
                 pclass = (Class<Person>) Class.forName("get_class_method.Person");
                 System.out.println(pclass.getName());
             } catch (ClassNotFoundException e) {
                 e.printStackTrace();
             }
        }
        /*
         * 方式三:
         * 任何数据类型都有一个静态的属性 .class来获取其对应类的字节码文件对象
         * 相对简单,但是还是要明确用到类中的静态成员。还是不够扩展!
        */
        public static void getClassObject3(){
            Class pclass = Person.class;
            System.out.println(pclass.getName());
        }
        
    }
  • 相关阅读:
    2018爆零记第二弹之day0
    2018NOIP爆0记第一弹
    图论中偶然发现的一个问题
    [SCOI2010]序列操作
    CF 675E Trains and Statistic
    CF100015C
    Python 使用 NLTK 实现简单情感分析--Twitter(推特)分析
    pipenv -- python 搭建虚拟环境
    Python
    ElasticSearch 入门教程
  • 原文地址:https://www.cnblogs.com/hujunzheng/p/4055174.html
Copyright © 2011-2022 走看看