请问各位高手 java中static修饰的成员不能访问没有static修饰的成员是啥意思?谢谢大家了!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问各位高手 java中static修饰的成员不能访问没有static修饰的成员是啥意思?谢谢大家了!!相关的知识,希望对你有一定的参考价值。

static 是预加载的,在编译的时候就加载到jvm中了,而非static修士的成员没有预加载,所以不能访问,具体例子和一楼的一样。 参考技术A static class装载的时候,就存在了。 而类的其他部分,变量,方法,都需要在类成为实例的时候才会建立。 static的生命周期长于非static的对像,所以static的成员如果访问无static的成员时。对方可能还未产生。会发生错误。所以禁止了。 参考技术B 比如在两个类中,一个类中有一个静态成员,另一个类想调用这个类里面的静态成员,你只需要用那个类名直接打点调用那个静态成员。如果没有静态修饰的话,你要去new那个类,拿那被new出那个类名打点去调用。这个说法只是一个用new,一个不用new的区别。。。。 参考技术C 由于static方法可以由类名.方法直接调用,即一个类只有一个实例,所以它不能调用非static的方法,因为非static的成员或者方法是每个对象独有的。 参考技术D 就是说 static 方法不能按类内部的方式来访问非 static 成员

而只能通过对象的方式来访问,相当于类外访问这些成员一样

以上是关于请问各位高手 java中static修饰的成员不能访问没有static修饰的成员是啥意思?谢谢大家了!!的主要内容,如果未能解决你的问题,请参考以下文章

Java static 修饰函数

4Java中成员变量与局部变量

Java面向对象之关键字static 入门实例

java中static 与private的用法

java中static 与private的用法

static