- java中变量主要有3中类型:成员变量、静态变量(java中没有全局变量一说)、局部变量
- 成员变量:作用范围与类的实例化对象的作用范围相同,类被实例化时成员变量才会在内存中分配空间并初始化,生命周期和被实例化对象的生命周期一样。
- 静态变量:用static修饰,不依赖于任何特定的实例,被所有实例共享,类被加载的时候JVM就会给类的静态变量分配存储空间。
- 局部变量:作用域为花括号内。
2.成员变量的4种作用域
作用域和可见性 | 当前类 | 同一个package | 子类 | 其他package |
public | √ | √ | √ | √ |
private | √ | × | × | × |
protected | √ | √ | √ | × |
default | √ | √ | × | × |
注意:这些修饰符只能修饰成员变量,不能修饰局部变量。private和protected不能修饰类(只有public、abstract、final能修饰类)
如果不提供任何访问权限修饰词,则意味着是包访问权限。default
访问权限控制可以将接口和具体实现进行分离。