如果静态方法能调用动态方法的话,那如果别人通过类名调用静态方法时实例对象可能并不存在,但是方法内又调用了对象的方法,由于对象不存在,所以动态方法也不存在,程序肯定报错,所以java直接在编译阶段检查这种错误,避免运行时异常
可以直接调用的。在调用静态方法的时候,比如说这个静态方法是在一个类中,直接用类名点方法名,不需要在new出一个对象,然后用new处的对象来调用方法。因为静态方法可以直接用类名调用
静态方法是在类中使用staitc修饰的方法,在类定义的时候已经被装载和分配。
静态方法为类所有,可以通过对象来使用,也可以通过类来使用。
我们之前一直写的mian方法仔细看看,它就是一个静态方法,静态方法使用如下:
运行结果:
使用静态方法时,要注意:
1、静态方法可以调用同类中的其他成员,但不能直接调用非静态成员,如:
运行结果:
2、但是如果希望静态方法中调用非静态成员,可以通过创建类的对象 ,然后通过对象来访问非静态变量。如
运行结果:
3、静态方法同样不能直接调用非静态方法,但可以通过对象来访问非静态方法,如:
运行结果: