ava中修饰成员变量的访问权限和特性的关键字还有那些
时间: 2024-11-25 08:32:11 浏览: 17
在Java中,有几种关键字可以用来修饰成员变量(变量、属性),控制其访问权限和特性:
1. **public**:公共的(默认权限),在同一包内的所有类都能直接访问该变量。
```java
public int myPublicVar;
```
2. **private**:私有的,只能在声明它的类内部访问,外部类无法直接访问。
```java
private double myPrivateVar;
```
3. **protected**:受保护的,允许在同一包内以及派生类中访问。
```java
protected String myProtectedVar;
```
4. **default(不写明则默认)**: 对于非静态内部类,变量默认为包可见,对于顶级类(不在包下的类),默认为私有。
5. **static**:静态的,属于类而非对象,整个类只有一个实例,可以在类的任何地方通过类名直接访问。
```java
static int sharedVar = 0;
```
6. **final**:常量,值不可更改,分为两种情况:变量一旦初始化就不能改变(final var)和声明方法不能被重写(final method)。
```java
final int constantValue = 10;
```
7. **volatile**:保证多线程环境下,对变量的修改可见于其他线程,防止指令重排序带来的数据不一致。
```java
volatile boolean flag = false;
```
8. **transient**:序列化时忽略这个字段,防止在反序列化时保留对象的状态。
阅读全文