static:静态的
语法:static int b=1;
静态变量:static修饰的是静态变量
实例变量:没有使用static修饰的是实例变量
静态变量和实例变量区别:
1、静态变量在内存中只有一个内存空间,在加载类的过程中完成静态变量的内存分配,可以直接通过类名来访问。
2、每创建一个新的实例对象,就会为实例变量分配不同的内存,各个对象访问自己的实例变量
3、无论创建了一个类的多少个对象,静态变量只初始化一次,所有的实例都可以访问此静态变量,而且可以通过类名直接访问。
静态方法:static修饰的方法叫做静态方法
语法:类名.方法()
静态方法的调用不需要创建对象,这的确是一个很强大的模式。但是在静态方法的语法说明中,我们还提到了静态方法使用时候的限制,那就是静态方法中的代码只能调用类的静态成员,而不能出现类的实例成员。
final:最终的
final数据类型 变量名 = 值;
final修饰变量时候,表示该变量的值不可改变,称为常量。例如,圆类包含PI(圆周率)属性,且此属性的值在任何一个实例中都不会变化,将PI定义为常量更符合程序设计要求
特征:
1、final修饰符可以修饰静态变量、实例变量和局部变量,分别表示静态常量、实例常量和局部常量。
2、final类型的变量必须显式地初始化,否则将导致编译错误。
3、final变量只能被赋值一次。
4、在定义final常量时,一般以大写字母命名,且多个单词之间使用下划线“_”隔开 。
final修饰对象的时候,对象的引用(对象指向的地址)不能改变,但是对象的属性值却可以改变