这是我参与「第四届青训营 」笔记创作活动的的第1天
一、静态关键字:static
1、static的作用:
2、成员变量可以分为两类:
- 静态成员变量(有static修饰,属于类,内存中加载一次):常表示如在线人数信息等,可以被共享访问。
- 实例成员变量(无stctic修饰,存于每个对象中):常用于姓名name等属于每个对象的信息。
注意事项: 静态成员变量推荐使用类名.静态成员变量,不推荐对象.静态成员变量。实例成员变量用对象.实例成员变量。
3、static修饰成员的基本用法:
成员方法的分类:
- 静态成员方法(有static修饰,属于类),建议用类名访问,也可以用对象访问。
- 实例成员方法(无static修饰,属于对象),只能用对象触发访问。
使用场景:
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);
}
以上工具类代码实现的功能是,评委打分功能,去掉一个最高分一个最低分,取平均值。