static
1.概念
静态的意思,用于修饰成员(成员变量和成员方法)。
2.特点
随着类的加载而加载
优先于对象存在
被所有对象所共享
可以直接被类名调用
3.注意事项
A:静态成员只能访问静态成员。
B:静态方法中不能有this,super关键字。
C:主函数是静态的 。
4.静态变量(static修饰的成员变量)和非静态变量的区别
A:静态变量随着类的加载而加载,随着类的消失而消失。生命周期最长。
非静态变量随着对象的创建而存在,随着对象的消失而消失。
B:静态变量和类相关,是所属于类的,可以直接被类名调用,也可以被对象名调用。也称为类变量。
非静态变量和对象相关,是所属于对象的,只能被对象名调用。称为实例(对象)变量。
C:静态变量存储于方法区中的静态区。
非静态变量存储于对象的区域,在堆内存中。
D:静态变量的数据被所有的对象共享。
非静态变量是每个对象特有的数据。
final
1、final定义
最终的意思。
2、使用场景及特点
可以用于修饰类,修饰成员变量,成员方法。
A:final修饰的类不能被继承。
B:final修饰的成员方法不能被重写。
C:final修饰的成员变量是一个常量。
3、和变量声明的区别
final double PI = 3.14;
A:多了一个关键字修饰。
B:变量名大写。
C:值不能被改变。
注意:用final修饰的变量必须先赋初始值再操作,否则编译失败。