一般情况下,getclass()方法和class()方法是等价的,都可以获得一个类型名。
两者最直接的区别就是,getClass()是一个类的实例所具备的方法,而class()方法是一个类的方法。
另外getClass()是在运行时才确定的,而class()方法是在编译时就确定了。
getClass() 方法是 Object 类定义的方法,它返回对象执行时的 Class 实例,然后使用此实例调用 getName() 方法可以获得类的名称。
import java.math.*; import java.util.*; public class Main { public String toString() { return "在" + getClass().getName() + "类中重写toString() 方法"; } public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin = new Scanner(System.in); Main main = new Main(); System.out.println(main.toString()); /* 运行结果: 在Main类中重写toString() 方法 */ } }