JAVA中static用法的总结 | 青训营笔记

256 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第1天

一、静态关键字:static

1、static的作用

image.png

2、成员变量可以分为两类:

  • 静态成员变量(有static修饰,属于类,内存中加载一次):常表示如在线人数信息等,可以被共享访问。

image.png

  • 实例成员变量(无stctic修饰,存于每个对象中):常用于姓名name等属于每个对象的信息。

image.png

注意事项: 静态成员变量推荐使用类名.静态成员变量,不推荐对象.静态成员变量。实例成员变量用对象.实例成员变量。

3、static修饰成员的基本用法:

成员方法的分类:

  • 静态成员方法(有static修饰,属于类),建议用类名访问,也可以用对象访问。
  • 实例成员方法(无static修饰,属于对象),只能用对象触发访问。

使用场景:

image.png

4、工具类:

工具类中定义的都是一些静态方法,每个方法都是以完成一个共用的功能为目的。 e.g 在企业的管理系统中,通常需要在一个系统的很多业务使用验证码等安全措施,如果登录和注册等多处地方都存在验证码逻辑,就会导致同一个功能多出开发,出现代码重复。

工具类的定义注意:

  • 建议将工具类的构造器进行私有,工具类无需创建对象。
  • 里面都是静态方法,直接用类名访问即可。

e.g1 :


public static String toString(int[] arr){
    if(arr != null ){
        String result = "[";
        for (int i = 0; i < arr.length; i++) {
            result += (i == arr.length - 1 ? arr[i] : arr[i] + ", ");
        }
        result += "]";
        return result;
    }else {
        return null;
    }
}

以上工具类代码实现的功能是,给定一个一维数组,返回一维数组的内容而不是地址。

e.g2 :

public static double getAverage(int[] arr){
    // 总和  最大值 最小值
    int max = arr[0];
    int min = arr[0];
    int sum = 0;
    for (int i = 0; i < arr.length; i++) {
        if(arr[i] > max){
            max = arr[i];
        }
        if(arr[i] < min){
            min = arr[i];
        }
        sum += arr[i];
    }
    return (sum - max - min)*1.0 / (arr.length - 2);
}

以上工具类代码实现的功能是,评委打分功能,去掉一个最高分一个最低分,取平均值。

二、代码块:

image.png

image.png