# Java 中的非访问修饰符

> 原文： [https://javabeginnerstutorial.com/core-java-tutorial/non-access-modifiers-in-java/](https://javabeginnerstutorial.com/core-java-tutorial/non-access-modifiers-in-java/)

在本文中，您将学习非访问修饰符。 以下是可用的 Java 非访问修饰符。

*   `final`
*   `abstract`
*   `static`
*   `strictfp`
*   `native`
*   `syncronized`
*   `transient`

## `final`非访问修饰符

### 适用于 ：

1.  [类](https://javabeginnerstutorial.com/core-java-tutorial/java-class-object-tutorial/)
2.  方法
3.  [实例变量](https://javabeginnerstutorial.com/core-java-tutorial/instance-variable-java/)
4.  [局部变量](https://javabeginnerstutorial.com/core-java-tutorial/local-variable-in-java/)
5.  方法参数

#### 最终类：

一个类别设置为`final`时，不能由任何其他类别扩展。

#### 示例：`java.lang`包中的字符串类

#### 最终方法：

一个方法设置为`final`时，*不能被任何子类覆盖*。

#### 最终变量：

当变量设置为`final`时，其值*不能*更改。 最终变量就像常量。

**示例**：`public static final int i = 10;`

* * *

## `abstract`非访问修饰符

### 关键词：

*   `abstract`

### 适用于：

1.  类
2.  方法

#### 抽象类：

抽象类可以具有抽象方法。 如果类具有抽象方法，则该类将成为抽象类。 一个类也可以是没有任何抽象方法的抽象类。

#### 抽象方法：

抽象方法是没有主体而只有签名的那些方法。

**示例**：`public abstract void method();`

## `syncronized`非访问修饰符

### 适用于

1.  方法

#### 同步方法

同步方法一次只能由一个线程访问。

## `native`非访问修饰符

### 适用于

1.  方法

#### 本机方法

本机方法表明该方法是在依赖于平台的代码上实现的。

## `Strictfp`非访问权限编辑

### 适用于

1.  类
2.  方法

### `Strictfp`类/方法

`Strictfp`非访问修饰符强制浮点或浮点操作遵守 IEEE 754 标准。

**注意**：`Strictfp`非访问修饰符*无法*应用于变量。

## 备忘单

*   **非访问修饰符**是`static`，`final`，`abstract`，`syncronized`和`volatile`。
*   `static`关键字可以应用于**变量**和**方法**。
*   静态变量是那些不与任何实例关联但与类关联的变量，这意味着所有实例都将访问该变量的同一单个副本。
*   局部变量*不能*声明为`static`。
*   `static`关键字也可以应用于*方法*。 它们将适用于所有实例，并且它们将不依赖于实例创建。
*   最终修饰符可以应用于*方法*和*变量*。
*   `Final`是唯一可用于局部变量的修饰符。
*   一旦声明为`final`，则变量的值无法更改。
*   赋值后，最终变量不会获得默认值，而实例变量值无法更改。
*   最终方法不能被覆盖。

