1.测试类中的static
1.1
测试类的main方法和其他方法都需要static来修饰 main方法处:public static void main(String[] args){} 其他方法处:public static 返回值类型 方法名(参数列表){}
1.2静态变量与静态方法
1.2.1静态变量
在JavaBean类中,静态变量是随着类的加载而加载的,且只初始化一次,即使创建多个类的对象也只有最开始那一次会初始化static修饰的变量,并且其优先级高于对象的创建,静态变量存放于堆内存的静态区中。例如:Student类中定义static String teacherName,那么所有实用类中创建对象时的teacherNmae这个变量都是相同的值。在测试类main方法中可以通Student.teacher-Name=“张三”来访问。
1.2.2静态方法
静态方法中不能直接访问类的非静态变量(实例变量),因为非静态变量依赖于特定的实例对象。但是非静态的方法既能调用静态的变量也能调用非静态的。静态方法的调用也可以通过类名.静态方法名实现在测试类中的直接调用而不用创建对象。
1.3静态代码块
代码块作为类的五大部分之一(属性,方法,构造函数,代码块,内部类),而代码块书写在属性之后,能够实现方法中重复代码块的抽出与简写。普通的代码块直接{}中书写,而静态代码块增加了权限修饰符static,形式为static{}。静态代码块也是随着类的加载而加载,只加载一次。静态代码块是针对静态变量的初始化或者对静态方法的代码抽取。例如:
static int age=0; static{
static{ sout(“这里提取了静态方法中的代码)
age=18; }
} static void getage(){.......}
1.4接口中的静态方法
接口中方法的默认格式是:public default 返回值类型 方法名(){},这种方法在接口的实用类中可以不用重写,而public static 返回值类型 方法名(){},这形式在接口的实用类中必须重写。对于接口中的静态方法在实用类中的调用,可以通过接口名.方法名来访问。