一、什么是static?
static表示静态,是java中的一个修饰符,可以修饰成员变量和成员方法。
二、静态变量
1.什么是静态变量
被static修饰的成员变量,叫做静态变量。
2.静态变量的特点
a、被该类所有对象共享
b、不属于对象,属于类
c、随着类的加载而加载,优先于对象存在
3.静态变量的调用方式
a、类名调用
b、对象名调用
实例:
public class Student {
private String name;
private int age;
private String gender;
public static String teacherName;
public Student() {
}
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
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 + "正在学习");
}
public void show() {
System.out.println(name + "," + age + "," + gender + "," +teacherName);
}
}
public class StudentTest {
public static void main(String[] args) {
Student.teacherName = "浩浩";
Student s1 = new Student();
s1.setName("张三");
s1.setAge(23);
s1.setGender("男");
s1.study();
s1.show();
Student s2 = new Student();
s2.setName("王五");
s2.setAge(25);
s2.setGender("男");
s2.study();
s2.show();
}
}
运行结果:
张三正在学习
张三,23,男,浩浩
王五正在学习
王五,25,男,浩浩
三、静态方法
1.什么是静态方法
被static修饰的成员方法,叫做静态方法。
2.静态方法的特点
a、多用在测试类和工具类中
b、javabean类很少会用
3.静态方法的调用方式
a、类名调用
b、对象名调用
四、工具类
1.Javabean类 、测试类与工具类的含义
Javabean类:用来描述一类事物的类。例如:student 、 car等
测试类:用来检查其他类是否书写正确,带有main方法的类,是程序的入口。
工具类:不是用来描述一类事物的类,而是帮助我们做一些事情的类。
2.工具类的一些规则
a、类名要见名知意 例如:要给一个数组做一个工具,类名可以这样起:ArrUtil
b、私有化构造方法
在这我们是要通过构造方法来做出某种工具,来帮助我们实现某个目的,设置私有是因为我们要做的是实现某种目的地工具,并不需要创造出对象来实现,也保护了自己做好的工具。
c、方法定义为静态
可以通俗的这样理解,将做好的工具类,通过静态实现了让所有人都可以使用这个工具类,来实现目的。
实例:
public class ArrUtil {
private ArrUtil(){}
public static int GetMax(...){}
public static int GetMin(...){}
public static int GetAvg(...){}
}
五、static的注意事项
a、静态方法只能访问静态变量和静态方法
b、非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法
c、静态方法中是没有this关键字
总结:静态方法中,只能访问静态;
非静态方法可以访问所有;
静态方法中没有this关键字。