Java static静态

原创
2021/04/25 18:12
阅读数 64

静态:static关键字

static关键字的用法:它是一个修饰符,用于修饰成员(成员变量,成员方法)

 

一、什么时候可以使用静态?

1、什么时候可以定义静态变量?

当类中出现所有对象都共有的数据时,该字段就可以定义成静态的。

2、什么时候可以定义静态方法?

当方法内部没有使用到非静态数据(对象的特有数据)时,那么该方法就可以定义成静态的。大家平常见到的工具类 XxxUtils就很符合上边的场景,所以大家见到的工具类基本上都是静态的,不用new对象,直接XxxUtils.xxx()调用。

 

二、静态的其他内容理解

1、静态的特点:

  • 随着类的加载而加载(就是说这个类一被加载进内存,静态的东西就随着加载进去了, 这时候对象还不存在呢)。
  • 静态先于对象存在。
  • 被所有的对象共享。
  • 可以直接被类名调用,也可以被对象调用。

2、静态使用的注意事项:

  • 静态方法只能访问静态成员(属性和方法),不能访问非静态成员。因为静态在的时候非静态的还没在呢。
  • 非静态方法可以访问静态成员,也可以访问非静态成员。
  • 因为静态先于对象的存在而存在,所以静态方法中不可以出现this、super关键字。

3、静态的利弊:

  • 利:对于所有对象都共有的数据,没必要每个对象中都存在一份,可以使用静态,节省空间;可以不new对象,直接用类名调用。
  • 弊:因为静态是随着类存在的,所以生命周期过长;访问出现局限性,只能访问静态。

静态和非静态的数据在内存中的存储也有所不同,下篇会接着讲一下它们在内存中是怎么存的,以及实例化一个对象具体都做了些啥。
 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部