类变量和类方法
类变量
也叫静态变量 / 静态属性,类中所有对象共享,随类加载而创建,任一对象操作的都是同一个变量。
访问修饰符 static 数据类型 变量名; // 推荐
static 访问修饰符 数据类型 变量名;
总结
- 所有对象需要共享同一变量,可以考虑使用类变量。
- 类变量所有对象共享,实例变量(普通属性)是独享。
- 使用
static
修饰,类名.类变量名;
访问(推荐)。 - 类加载时创建,没有对象也能使用。
-
类方法
概念和声明同类方法。
类方法将结构信息存储在方法区,无this
参数。 开发工具类时,可将方法做成静态的,方便调用。
- 如
Math``Arrays``Collection
类。
- 如
- 可以
类名.方法名
,也可以通过对象调用。 - 不允许使用
this
、super
等与对象有关的关键字。 -
main 方法
虚拟机调用且不必创建对象,故是
public static
- 该方法接受
String
类型的数组参数,数组中保存着执行 Java 命令是传递给所运行的类的参数。
代码块
又称初始化块,是类的一部分(可以理解为只有方法体的方法)。随类的加载或创建对象时隐式调用。
static{
...;
}; //static 可选, }结尾的分号可有可无
static
可选,即普通代码块 / 静态代码块。
相当于另一种形式的构造器,优先级高于构造器,可用于初始化的操作。
静态代码块随类的加载而执行且只执行一次,普通代码块每创建一个对象就执行(隐式)一次,使用静态成员,普通代码块不会执行。
类何时加载!!!
创建对象实例时(new)。
- 创建子类对象实例,父类也会被加载。
- 使用类的静态成员时。
创建对象时,类的调用顺序