黑马程序员技术交流社区
标题:
关于静态的问题
[打印本页]
作者:
大麦田怪圈
时间:
2015-7-31 21:29
标题:
关于静态的问题
方法中为什么不能定义静态成员???
作者:
一枚小小媛
时间:
2015-7-31 21:40
本帖最后由 一枚小小媛 于 2015-7-31 21:42 编辑
我是这么理解的
①静态方法 可以在没有产生类对像的时候使用(利用 类名.方法名 调用)
②非静态方法必须产生类对像才可以使用(类 对象名 = new 类 -> 对象名.方法名 )
③被static修饰的对象,在相同JVM中只有唯一实例。表现出来就是其他对象共享此对象 (共用相同的对象)
④一个类的静态成员(变量和方法)其实可以说是属于类本身的,在类加载的时候就会分配内存,可以通过类名直接去访问。而非静态成员(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象去访问这些非静态的成员(变量和方法)。
试想一下,一个类的对象还没new出来,这个非静态的方法就和类一起被加载了?是不是有一点穿越的感觉撒?所以这种前后顺序,规定了非静态的方法不能调用已经是静态修饰的成员。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2