面向对象进阶-static&工具类

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关键字。

你可能感兴趣的:(Java基础,java,jvm,开发语言,后端)