静态和非静态的访问

非静态的方法(不带static关键字),可以访问静态方法,但是静态方法却不可以访问非静态的方法,为什么呢?

其实这个原理很简单,在解释原理之前,先看一下static关键字的特点:

  • 随着类的加载而加载,可就是说把类加载到内存中的时候,static关键字修饰的资源就一起加载了.
  • 优先于对象的存在
  • 直接通过 类名. 出来
  • ......
    上面的第一点就已经说明了原因,静态资源在类加载就已经加载进了内存,这时候非静态的资源还没有进行加载,所有是调用不到的.反过来就是可以调用的,在实例化对象的时候,静态的资源已经存在了.

    上面还可以看出在静态的方法中不能使用super this等关键字.
posted @ 2020-09-25 17:41  刘指导  阅读(274)  评论(0)    收藏  举报