java Class类

Posted 展翄高飛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Class类相关的知识,希望对你有一定的参考价值。

当一个类被加载以后,Java虚拟机会自动产生一个class对象。通过这个Class对象我们就能获得加载到虚拟机当中Class对象对应的方法、成员以及构造方法的的声明和定义等信息。

获取Class对象共有以下三种方法。

第一种

  类名.class

public class fg {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Class c = fg.class;//第一种获取Class类
        System.out.println("包路径"+c.getPackage());
        System.out.println("类名称"+c.getPackage());
        System.out.println("包继承类"+c.getPackage());
    }

}

运行结果:

第二种

  类名 对象名  = new 类名();

  对象名.getClass();

public class fg {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        fg d =new fg();//第二种获取Class类
        Class c = fg.class;//第一种获取Class类
        System.out.println("包路径"+c.getPackage());
        System.out.println("类名称"+c.getPackage());
        System.out.println("包继承类"+c.getPackage());
    }

}

运行结果如上图

第三种

  Class.forName(“包名+类名”){该种方法会抛出ClassNotFoundException异常,需要用try-catch捕获}

public class fg {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        try {//第三种获取Class类
            Class c = Class.forName("com.wx.fg");
            System.out.println("包路径"+c.getPackage());
            System.out.println("类名称"+c.getPackage());
            System.out.println("包继承类"+c.getPackage());
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }

 

以上是关于java Class类的主要内容,如果未能解决你的问题,请参考以下文章

从JVM的角度看JAVA代码--代码优化

elasticsearch代码片段,及工具类SearchEsUtil.java

反射机制

solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例

java 代码片段

java代码在片段活动中不起作用