static final 区别
时间: 2024-10-16 17:22:21 浏览: 35
`static` 和 `final` 都是 Java 中的关键字,它们在成员变量声明时有不同的用途:
1. **static**:
- 它意味着这个变量属于类,而不是某个实例(对象)。这意味着无论何时创建类的实例,静态变量都有相同的值,所有实例共享这一个副本。静态变量通常是全局的配置信息或者与类相关的常量。
```java
public class MyClass {
static final int GLOBAL_CONSTANT = 100;
}
```
类外也可以直接访问静态变量,不需要创建类的实例。
2. **final**:
- 当应用于成员变量时,表示该变量一旦初始化,其值就不能改变(常量)。如果应用在方法参数上,则保证了方法不会修改传入的对象。
```java
public class MyClass {
final int INSTANCE_CONSTANT; // 初始化后不能更改
{
INSTANCE_CONSTANT = 50;
}
}
```
如果应用在类上,表示类不能被继承,如果是方法,则表示方法不可被重写。
结合使用,`static final` 通常用来表示类的常量(常数值),因为这样的变量在整个程序生命周期内都是不变的,并且无需创建对象就可以访问。
相关问题
static和static final区别
static final和final的区别在于:
1. static final用于定义常量,其值在程序运行期间不可改变,且可以在类的任何方法中使用。
2. final用于修饰变量、方法或类,表示其值或实现不可改变。final修饰的变量必须在声明时或构造函数中初始化,且只能被赋值一次。
3. static final常量在类加载时就已经被初始化,而final变量则是在对象创建时被初始化。
4. static final常量可以直接通过类名访问,而final变量只能通过对象名访问。
总之,static final常量是不可变的全局变量,而final变量是不可变的局部变量。
public class UserDbSchema { public static final class UserTable { public static final String NAME = "users"; public static final class Cols { public static final String UUID = "uuid"; public static final String USERNAME = "username"; public static final String USERMONEY = "usermoney"; public static final String USERDATE = "userdate"; public static final String USERTYPE = "usertype"; public static final String USERWORD = "userword"; } } }
这段代码看起来像是定义了一个数据库表的结构,表名为"users",包含了uuid、username、usermoney、userdate、usertype、userword这几个字段。其中,uuid为唯一标识符,username为用户名,usermoney为用户余额,userdate为用户注册日期,usertype为用户类型,userword为用户密码。这些字段的数据类型和限制没有在这段代码中给出,可能需要在其他地方定义。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)