static方法区中为什么不能有this或者super?

想象一下Java中为什么main方法是程序的入口?

public static void main(String[] args)

因为main方法是静态方法,其实带静态的东西优先级都比较高,静态代码块,静态变量,静态常量等等。。。

静态方法也是一样,那么为什么main方法是程序的入口呢?因为他最先被执行啊!当你点击编译按钮时,也就是类加载时静态方法就被加载到了内存区,静态方法被优先执行,而此时对象都没被加载呢。this是当前类的对象,可想而知在静态方法执行的时候它还不存在呢,因此在静态方法中通过this调用其他任何东西都是扯淡。所以当然不能在静态方法区中使用this,super也是同理。

posted @ 2019-07-03 15:31  Bean冷的心  阅读(509)  评论(0编辑  收藏  举报