修饰成员变量,表示该成员变量只能在内存中存储一份,可以被共享访问,修改。

成员变量可以被分成2类:

静态成员变量(有static修饰,属于类,内存中加载一次):常表示如在线人数信息等需要被共享的信息,可以被所有对象共享访问。

public class try3 {
public static void main(String[] args) {
System.out.println(tr.a);//输出1.不需要new tr,直接拿着tr去访问它的变量就可以了
tr.a+=1;
System.out.println(tr.a);//输出2

}
}
class tr{
public static int a=1;
}

 

 注意:在同一个类中去访问不需要加类名.它,直接调用它就可以。

 静态成员变量/方法(有static,,归属于类,可以直接用类名访问)直接 类名.变量/方法名 访问即可。与实例成员变量/方法(没有static,归属于对象,只能用对象出发访问)

区别:1.如果没有static修饰,就需要先new那个对象,再用对象去访问那个对象中的变量。如果有的话就不需要通过对象去访问,可以直接访问。

2。如果是通用功能(比如得到最大值),就加static.如果是对象的方法和属性就不加。

 

内存机制:

 

 

 

 Static注意事项:

1.静态方法只能访问静态成员,不可以直接访问实例成员。

2.实例方法可以访问静态成员变量也可以访问实例成员变量。

3.静态成员变量中不可以出现this关键字。

 

 

 

 

工具类:以static修饰的工具方法

工具类内部是一些静态方法,每个方法完成一个功能,一次编写就处处可用。建议将工具类的内部构造器私有化,对外不产生对象