目录
视频链接
静态变量:https://www.bilibili.com/video/BV17F411T7Ao?p=121
静态方法和工具类:https://www.bilibili.com/video/BV17F411T7Ao?p=122
static的注意事项:https://www.bilibili.com/video/BV17F411T7Ao?p=123
java static
static 基础
jdk8之前静态变量存放在方法区,之后被优化到堆内存中,当调用静态变量时,会在堆中创建静态存储区存放所有静态变量(与new关键字是不同的),即:静态变量是随着类的加载而加载,优先于对象出现。
public class Student() {
private String stuName;
//静态区是独一份的,新创建的对象需要再去查找
public static String teacherName;
}
public class StudentTest() {
public static void main(String[] args) {
// 所有的Student对象的teacherName都会被赋相同值
Student.teacherName ="teacher static";
Student s1 = new Student;
...
}
}
static修饰方法的应用场景
static修饰的常不是Javabean类也不是测试类,而是工具类。
工具类
私有化构造对象是为不让创建对象,因为工具类不是描述一类事物的,创建对象没有意义。
工具类实例
package year23month01day17.demo94proj;
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();
}
}
package year23month01day17.demo94proj;
public class TestDemo {
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
String str = ArrayUtil.printArr(arr);
System.out.println(str);
}
}
java static应用注意事项
静态方法中没有this关键字。不能访问诸如自定义的变量或方法。
标签:arr,java,String,静态,static,public From: https://www.cnblogs.com/xiaoaozi/p/17056867.html