静态方法中,不能调用非静态;非静态成员内部类中不能有静态变量和静态方法
一.静态方法中,不能调用非静态
1.因为,静态方法执行先于非静态。
2.静态方法中,要想使用非静态,就必须等静态方法执行结束,即执行完 } 为止,才能执行非静态。而非静态却在 ** }** 之前,所以矛盾!
二.非静态成员内部类中不能有静态变量和静态方法
1.因为static变量和static方法,随着类加载的时候进入内存,此时外部类对象还未建立;
2.成员内部类的方法,都依赖于外部类对象,若想调用成员内部类方法,需先创建外部类对象,再创建内部类对象。
3.即,再外部类对象未创建时,却向使用依赖外部类对象的方法。矛盾!