这是我的第一篇博客,所以从main方法开始吧。
首先提三个问题:
1、java应用程序中的类什么时候加载到内存?
2、main方法中为什么不能调用main所在类的非静态方法?
3、main方法中为什么可以调用实例化类的非静态方法?
以下是自己的理解,比较粗浅,以后会来改正完善的。
回答1:java的普通类是在第一次被使用的时候由jvm通过类加载器加载到内存的。系统类暂不清楚,jvm原理待理解。
回答2:因为main方法必须被声明为public static ,java应用程序在启动时会通过入口类的类名直接调用main方法,此时入口类还没有被实例化,所以在main方法中直接调用入口类的非静态方法是不允许的。
回答3:参照回答1