在静态构造期间获取类的名称

Rea*_*lar 1 java static

C#我可以将类的名称分配给这样的本地静态变量.

 public class MyClass
 {
      private static string TAG = typeof(MyClass).Name;
 }
Run Code Online (Sandbox Code Playgroud)

我发现这非常有用,因为如果将类重构为另一个名称,则字符串的值会自动更新.方便标记调试消息等.

这样的事情可能Java吗?

 public class MyClass
 {
      private static String TAG = ????;
 }
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用getClass().getName()但需要引用一个对象.有没有办法在静态变量上执行此操作?

Pet*_*rey 5

您不需要将类的名称分配给字段而不是写入.

MyClass.TAG
Run Code Online (Sandbox Code Playgroud)

你可以写

MyClass.class.getName();
Run Code Online (Sandbox Code Playgroud)

如果你真的需要,你可以将其分配给TAG,但我不明白这一点.