Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RitterHou/8965bfe732edb8380f61cb6f0ca1c115 to your computer and use it in GitHub Desktop.
Save RitterHou/8965bfe732edb8380f61cb6f0ca1c115 to your computer and use it in GitHub Desktop.

三种方式:

  1. 通过对象的getClass()方法可以返回一个class对象;
  2. 通过Class类的forName(String className)方法,参数传入指定类的全限定类名即可;
  3. 通过类的class属性也可以返回一个class对象;

例如一个log4j的例子:

package com.example;

public class Test {

    // 三种创建一个类的 class 对象的方式
    private Logger logger1 = Logger.getLogger(this.getClass());
    private Logger logger2 = Logger.getLogger(Class.forName("com.example.Test"));
    private Logger logger3 = Logger.getLogger(Test.class);

}

更多区别参考以下两个链接:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment