static的使用:
关键字“static”的演示是:静态的。
静态变量和实例变量:
类的变量分为静态变量和实例变量2种:
static修饰的是静态变量。
没有使用static修饰的是实例变量。
两者的区别:
- 静态变量在内存中只有一个内存空间,在加载类的过程中完成静态变量的内存分配,可以直接通过类名来访问。
- 每创建一个新的实例对象,就会为实例变量分配不同的内存,各个对象访问自己的实例变量
- 无论创建了一个类的多少个对象,静态变量只初始化一次,所有的实例都可以访问此静态变量,而且可以通过类名直接访问。
- 静态方法的调用不需要创建对象,静态方法中的代码只能调用类的静态成员,而不能出现类的实例成员。
静态变量简单的说:静态方法只能调用静态变量,实例方法则没有要求。
并且静态变量只初始值一次,在建立多个对象对静态变量进行使用的时候,不会初始化,会在每一次对象调用后的基础上进行增加或者减少。
静态方法的语法:
final 修饰变量:
final修饰变量时候,表示该变量的值不可改变,称为常量。
例如,圆类包含PI(圆周率)属性,且此属性的值在任何一个实例中都不会变化,将PI定义为常量更符合程序设计要求。
语法:
基本数据类型的final特征:
- final修饰符可以修饰静态变量、实例变量和局部变量,分别表示静态常量、实例常量和局部常量。
- final类型的变量必须显式地初始化,否则将导致编译错误。
- final变量只能被赋值一次。
- 在定义final常量时,一般以大写字母命名,且多个单词之间使用下划线“_”隔开
例如:
final修饰对象变量:
final修饰对象的时候,对象的引用(对象指向的地址)不能改变,但是对象的属性值却可以改变