Static 是静态的意思,可以修饰成员变量和成员方法.
Static 修饰成员变量表示该成员变量只存储一份,可以被共享访问,修改.
一般在一段代码需要重复使用多次时,我们可以创建一个静态类,在需要使用这个类里面的方法或变量的时,可以间接的调用它.
例: 建立一个 静态类
Public class User {
//静态成员变量
public Static int onlintNumber = 135;
private String name;
private int age;
...
}
成员变量可以分为两类
1. 静态成员变量 (有 Static 修饰 , 属于类 , 内存中加载一次) : 常用于需要共享的信息,可以被共享访问.
//在其他类里面调用写好的 静态类. 例 : 上面的 User 类
//在实际场景中,我们一般都是在静态类里面编写好一个或多个方法,
//在需要使用的时候直接调用即可.
public class StaticDieldDemol{
public static void main(String[] args){
//类名.静态成员变量
User.onlintNumber++;
}
}
2. 实例成员变量 (无 static 修饰,存在于每个对象中) : 常表示姓名 name . 年龄 age , 等属于每个对象的信息.
//实例成员变量,在使用静态类里面的内容时需要,进行实例化. User s = new User(); s.name = "张三"; s.age = 21; System.out.println(s.name);//张三 System.out.println(s.age);//21 //在无Static修饰时不能直接调用静态类,需要先进行实例化;
使用场景
(1) 表示对象自己的行为的,且方法中需要访问实例成员的,则该方法必须申申明成实例方法;
(2) 如果该方法是以执行一个共同功能为目的,则可以申明成静态方法;
Static 访问注意事项:
(1) 静态方法只能访问静态的成员 , 不可以直接访问实例成员.
(2) 实例方法可以访问静态的成员 , 也可以访问实例成员.
(3) 静态方法中是不可以出现this关键字的.
小结
1.成员变量的分类和访问
(1) 静态成员变量(有Static修饰 , 属于类 , 加载一次 ,可以被共享),访问格式:
类名.静态成员变量(推荐)
对象.静态成员变量(不推荐)
(2) 实例成员变量(无Static修饰, 属于对象) , 访问格式:
对象.实例成员变量.
2.两种成员变量各自在什么情况下定义
静态成员变量 : 表示在线人数 等 需要被共享的信息.
实例成员变量 : 属于每个对象,且每个对象的该信息不同时 ( 如 : name,age, money ... 等)
3.每种成员的分类和访问分别是上面样的
(1) 表示对象自己的行为的, 且方法中需要直接访问实例成员,则该方法必须申明成实例方法.
(2) 如果该方法是以执行一个通用功能为目的,或者需要方便访问,则可以申明成静态方法.



