static是什么?
- static是静态的意思,可以修饰成员变量和成员方法。
- static修饰成员变量表示该成员变量只在内存中只存储一份,可以被共享访问、修改。
代码演示如下:
用户类:
public class User { /** *在线人数 * 注意:static修饰的成员变量:静态成员变量,只在内存中有一份,可以被共享访问、修改。 */ public static int onlineNumber = 161; }
测试类:
public class StaticFieldDemo1 { public static void main(String[] args) { //目标:理解static修饰成员变量的作用和访问特点 //1.类名.静态成员变量 System.out.println(User.onlineNumber); User u = new User(); u.onlineNumber++;//新来了一个人 System.out.println(u.onlineNumber); } }
两种变量各自在什么情况下定义?
- 静态成员变量:表示在线人数等需要被共享的信息。
- 实例成员变量:属于每个对象,且每个对象的该信息不同时(如:name,age,money…)
内存机制: