如果在编译时解析静态方法,对象实例如何能够调用静态方法?
class StaticCall
{
public static void main(String[] args)
{
String arr[]={"Class StaticCall","calls static method of class MyMainClass"};
MyMainClass h=new MyMainClass();
h.main(arr); //How is an instance able to call a static method?
System.out.println("this is StaticCall main");
}
}
class MyMainClass
{
public static void main(String[] args){
System.out.println(args[0]+" "+ args[1]);
}
}
运行 StaticCall 类后,输出为
类 StaticCall 调用类 MyMainClass 的静态方法
这是静态调用主
由于静态字段和方法属于 Class 对象,实例如何能够调用静态方法?另外,什么时候创建 Class 对象,它是第一次访问它的任何字段或方法吗?