static关键字

static关键字

static 表示静态,是java当中的一个修饰符,可以修饰成员方法,成员变量。

static修饰成员变量

被static修饰的成员变量叫做静态变量

  • 特点

    • 被该类所有的实例化对象所共享
    • 不属于对象,属于类
    • 随着类的加载而加载,优先于对象存在
  • 调用方式

    • 类名调用(推荐)
    • 对象名调用

静态变量时随着类的加载而加载的,是优于对象出现的

也就是说使用static修饰的变量,可以在实例化对象之前使用

静态变量在堆内存中,只有一份,哪个实例化对象需要该变量,直接去拿就可以,而不需要在每一个实例化对象中都定义一次。

如何判断一个变量是否需要使用static修饰:
就看这个变量是否需要被多个实例化对象同时使用同一个值,也就是是否需要被多个实例化对象所共享。

static修饰成员方法

被static修饰的成员方法被叫做静态方法

  • 特点

    • 多用在测试类和工具当中
    • JavaBean类很少会用
  • 调用方式

    • 类名调用(推荐)
    • 对象名调用

什么是工具类

  • JavaBean类: 描述一类事物的类。比如:Student Teacher Dog
  • 测试类:用来检查其他类是否书写正确,带有main方法,是程序的入口
  • 工具类: 不是用来描述一类事物的,而是帮助我们做一些事情的类

工具类的规则:

  1. 类名见名知意
  2. 私有化构造方法

static的注意事项

  • 静态方法只能访问静态比那里和静态方法
  • 非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法
  • 静态方法中没有this关键字的

总结:

静态方法中,只能访问静态

非静态方法可以访问所有

静态方法中没有this关键字