Miles D Miles D - 1 year ago 106
Java Question

Getting the class name from a static method in Java

How can one get the name of the class from a static method in that class. For example

public class MyClass {
public static String getClassName() {
String name = ????; // what goes here so the string "MyClass" is returned
return name;

To put it in context, I actually want to return the class name as part of a message in an exception.

Answer Source

In order to support refactoring correctly (rename class), then you should use either:

 MyClass.class.getName(); // full name with package

or (thanks to @James Van Huis):

 MyClass.class.getSimpleName(); // class name and no more
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download