【JAVA】 static与final的应用
尽人事,听天命。愿我们都是幸运的宝子~
文章目录
- 1. static的用法
- 1.1 静态变量
- 1.2 静态方法
- 1.3 静态代码块
- 1.4 静态内部类
- 1.4.1 静态内部类的特点
- 2. final的用法
1. static的用法
1.1 静态变量
static用在变量上,作为静态变量。运行时,Java虚拟机只为静态变量分配一次内存,类内部任何方法都可直接访问静态变量,其他类中的方法可以通过类名访问静态变量。
1.2 静态方法
静态方法中可以访问所属类的静态变量和静态方法。静态方法中不能访问类的实例变量与实例方法,不可使用this,也不可使用super.
1.3 静态代码块
用static 修饰的代码块,用于类初始化时,为类的静态变量赋初始值。
1.4 静态内部类
静态内部类,又叫静态嵌套类或嵌套类。是使用static关键字修饰的内部类。
静态内部类定义方式如下。
public class stu{
public static class grade{
}
}
1.4.1 静态内部类的特点
-
静态内部类只能访问外部类的静态变量和静态方法。
-
静态内部类的对象实例化,不需要依赖外部类对象,而普通的内部类对象需要与外部类的对象有一种绑定关系。
-
普通内部类只能包含非静态变量、非静态方法、非嵌套类。
-
静态嵌套类可以包含静态和非静态变量、静态和非静态方法、静态和普通内部类。静态内部类可以具有普通类的所有特性,而且还可以通过访问修饰符如private等,来控制访问权限。
-
静态内部类不会在外部类加载时也执行类加载
2. final的用法
- fina修饰变量,来表示常量,这个变量的值,不能被改变
- final修饰的类不能被继承
- final修饰的方法不能被重写