Static(静态):static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量。
- 被static修饰的成员变量,叫做静态变量;
静态变量特点:被该类所有对象共享;可用类名调用的方式;
- 被static修饰的成员方法,叫做静态方法;
静态方法特点:
多用在测试类和工具类中;
Javabean类中很少会用;
拓展:工具类
Javabean类:用来描述一类事物的类,比如Student,Techer,Dog;
测试类:用来检查其他类是否书写正确,带有main方法的类,是程序的入口;
工具类:不是用来描述一类事物的,而是帮我们做一些事情的类;
书写工具类要:见名知意;
要私有化构造方法;
方法定义为静态;
例题:
public class ArrayUtil {
//私有化构造方法;
//目的:为了不让外界创建他的对象;
private ArrayUtil(){}
//需要定义为静态;
public static String printArr(int[] arr){
StringBuilder sb=new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
if(i==arr.length-1) {
sb.append(arr[i]);
}else{
sb.append(arr[i]).append(",");
}
}
sb.append("]");
return sb.toString();
}
public static double getAverage(double[] arr){
double sum=0;
for (int i = 0; i < arr.length; i++) {
sum=sum+arr[i];
}
return sum/arr.length;
}
}
public class TestDemo {
public static void main(String[] args){
//测试工具类中的两个方法是否正确;
int[] arr1={1,2,3,4,5};
String str=ArrayUtil.printArr(arr1);
System.out.println(str);
double[] arr2={1.4,2.3,3,4};
double avg=ArrayUtil.getAverage(arr2);
System.out.println(avg);
}
}
static的注意事项:
- 静态方法只能访问静态变量和静态方法;
- 非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法;
- 静态方法中没this关键字;