static
- static:表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量
静态变量
- 被static修饰的成员变量,叫做静态变量
- 特点:
- 被该类所有对象共享
- 不属于对象,属于类。
- 随着类的加载而加载,优先于对象存在
- 调用方式:
- 类名调用(推荐)
- 对象名调用
示例
/**
* @Author: 大海
* @Date: 2025-10-26
*/
public class study_23_static_静态变量 {
// 属性 姓名 年龄 性别
private String name;
private int age;
private String gender;
public static String teacher; // 静态属性 老师
// 构造方法
public study_23_static_静态变量() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
// 行为
public void study() {
System.out.println(name + "正在学习 Java 编程");
}
public void show() {
System.out.println(name + gender + ",今年" + age + "岁。" + "老师是" + teacher);
}
public static void main(String[] args) {
// 类名调用静态属性
study_23_static_静态变量.teacher = "高老师";
System.out.println(study_23_static_静态变量.teacher);
// 创建第一个学生对象
study_23_static_静态变量 student1 = new study_23_static_静态变量();
student1.setName("大海");
student1.setAge(31);
student1.setGender("男");
student1.study();
student1.show();
// 创建第二个学生对象
study_23_static_静态变量 student2 = new study_23_static_静态变量();
student2.setName("小白");
student2.setAge(28);
student2.setGender("女");
student2.study();
student2.show();
}
}
静态方法
-
被static修饰的成员方法,叫做静态方法
-
特点:
- 多用在测试类和工具类中
- Javabean类中很少会用
-
调用方式:
- 类名调用(推荐)
- 对象名调用
示例
package common;
/**
* @Author: 大海
* @Date: 2025-10-26
*/
// 工具类
public class ArrayUtil {
// 为了不让外界创建实例,将构造方法设为私有
private ArrayUtil() {
}
// 数组中元素平均值
public static double getAverage(double[] arr) {
if (arr == null || arr.length == 0) {
return 0;
}
int sum = 0;
for (double j : arr) {
sum += j;
}
return (double) sum / arr.length;
}
}
package common;
/**
* @Author: 大海
* @Date: 2025-10-26
*/
// 测试类
public class TestDemo {
public static void main(String[] args) {
double[] array = {1.2, 3.4, 5.6, 7.8, 9.0};
double average = ArrayUtil.getAverage(array);
System.out.println(average);
}
}
static的注意事项
- 静态方法只能访问静态变量和静态方法
- 非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法
- 静态方法中是没有this关键字
6831

被折叠的 条评论
为什么被折叠?



