-
static表示静态【一个村的人用一口井】
- 静态对象随着类的加载而加载,优于对象出现的
-
静态变量:修饰成员变量
- 特点:被所有对象共享
- 调用方法
- 类名调用**
- 对象名调用
-
静态方法;修饰成员方法
- 特点:多用在测试类和工具类
- 调用方法
- 类名调用**
- 对象名调用
- 案例1:
- 需求
- 1.学生类:姓名、年龄
- 2.测试类:集合存放学生信息
- 3.工具类:求最大的年龄
- 学生类
package com.day2; public class Student { private String name; private int age; public Student() { } public Student(String name, int age) { this.name = name; this.age = age; } 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; } }
- 工具类
package com.day2; import java.util.ArrayList; public class StudentUtil { private StudentUtil(){} //静态方法 static int getStudentAgeMax(ArrayList<Student> list){ int maxage = 0; for (int i = 0; i < list.size(); i++) { int age = list.get(i).getAge(); if (age > maxage){ maxage = age; } } return maxage; } }
- 测试类
package com.day2; import java.util.ArrayList; public class StudentTset { public static void main(String[] args) { Student student1 = new Student("张三",15); Student student2 = new Student("李四",18); Student student3 = new Student("西卡",56); Student student4 = new Student("市民卡",25); ArrayList<Student> list = new ArrayList<>(); list.add(student1); list.add(student2); list.add(student3); list.add(student4); int studentAgeMax = StudentUtil.getStudentAgeMax(list); System.out.println(studentAgeMax); } }
- 需求
-
总结:
- 静态方法中,只能访问静态
- 非静态方法可以访问所有
- 非静态方法可以访问静态变量或者静态方法
- 也可以访问非静态的成员变量和非静态的成员方
- 静态方法中没有this关键字
Static变量
最新推荐文章于 2024-05-31 10:46:10 发布