javaSE-关键字:static-final
一、关键字:static
- static翻译为“静态”所有static关键字修饰的都是类相关的,类级别的。
- 带有static的方法调用:“类名.”的方式访问。
- static修饰的变量:静态变量;static修饰的方法:静态方法
- 没有static,这样的方法被称为:实例方法。(对象方法,对象级别的方法需要先new对象出来)
- 实例变量:是对象变量。实例方法:是对象方法。
- 实例相关的都需要先new对象,通过“引用.”的方式去访问。加上:static 关键字之后的数据存贮在:方法区
静态代码块:static{ }
- 使用static关键字可以定义:静态代码块,不能定义任何方法
- 静态代码块语法是:static { java语句; java语句; }
- static静态代码块执行:类加载时执行。并且只执行一次。
- 注意:静态代码块在类加载时执行,并且在main方法执行之前执行。
- 静态代码块一般是按照自上而下的顺序执行。
- 静态代码作用:静态代码块这种语法机制实际上是SUN公司给我们java程序员的一个特殊的时刻/时机。这个时机叫做:类加载时机
实例语句代码块:{ java语句 }
- 实例语句代码块;语法(就是一对大括号里面有Java语句):{java语句;...}
- 只要是构造方法执行,必然在构造方法执行之前,自动执行“实例语句块”中的代码。
- 实际上这也是SUN公司为java程序员准备一个特殊的时机,叫做对象构建时机。
二、关键字final:
- final修饰类,表示最终类, 不能被继承,不能作为父类存在
- final修饰字段,在定义时必须显示初始化, 不能被修改, 一般与static同时使用,所有字母都大写,称为final常量
- final修饰方法,不能被覆盖(重写)
- final修饰局部变量, 一旦初始化就不能再修改,.
- final修饰引用类型变量,是指这个变量不能再指向 其他对象 , 可以修改它的字段值
- final修饰方法形参, 在方法体中不能修改final参数的值
- 常量和静态变量,都是存贮在方法区,并且都是在类加载时初始化。