1.static概述
static表示静态,是Java中的一个修饰符,可以修饰成员变量,成员方法
2.静态变量
被static修饰的成员变量,叫做静态变量
特点:被该类所有对象共享;不属于对象,属于类;随着类的加载而加载,优先于对象存在
调用方式:类名调用
public class Student {
String name;
int age;
String teacherName;
String cup;
String girlFriendName;
}
判断某个属性是否可以被定义为静态,主要看该属性是否被所有对象共享,只要能被所有对象共享,则就可以把该属性定义为静态。但是是否可以被共享并不是绝对的,要看具体业务场景,比如老师的名字这个属性,如果学生为同一个班的学生,则老师就是一样的,老师的名字这个属性可以被共享;但是如果老师指的是家教,则会是不同的老师,老师名字这个属性就不可以被共享了。
3.静态方法
被static修饰的成员方法,叫做静态方法
特点:多用在测试类和工具类中;Javabean类很少会用到
调用方式:类名调用
4.工具类
Javabean类、测试类、工具类的区别
Javabean类:用来描述一类事物的类。如:Student、User、Cat、Phone等
测试类:用来检查其他类是否正确,带有main方法的类,是程序的入口
工具类:可以看成是一个工具,能帮助我们做一些事情,但是不能描述任何事物的类
工具类的注意点
(1)类名见名知意
(2)私有化构造方法:工具类创建实例对象没有任何意义,所以私有化构造方法的目的是为了不让外界创建他的对象
(3)工具类中的方法都定义为静态方法
5.static的注意事项
静态方法只能访问静态变量和静态方法
非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法
静态方法中没有this关键字
总结:静态方法只能访问静态。非静态方法可以访问所有。静态方法中没有this关键字。