多语言展示
当前在线:1267今日阅读:23今日分享:31

在java中,static定义的方法和字段什么意思?

用来区别字段、方法、内部类,初始化代码属于对象还是属于类本身。
方法/步骤
1

static 修饰符的特点:① static 修饰的成员(字段/方法),随着所在类的加载而加载 当 JVM 把字节码加载到 JVM 的时候,static 修饰的成员已经在内存中了 ② 优先于对象的存在 对象是被手动通过 new 关键字创造出来的 ③ static 修饰的成员被该类型的所有对象所共享 根据该类创建出来的任何对象,都可以访问 static 成员。 注:表面上通过对象去访问 static 成员,其本质依然使用类名访问,与对象无关,使得 3 并无实际意义 ④ 直接使用类名访问 static 成员 因为static修饰的成员直接属于类,不属于对象,所以可以直接使用类名访问static成员。

3

实例成员:只属于对象,通过对象来访问非 static 字段和非 static 方法(对象其实可以访问类成员,但是底层依然使用类名访问的)在 static 方法中,只能调用 static 成员 非 static 方法:可以调用静态成员,也可以调用实例成员如果这个状态/行为属于整个事物(类),就直接使用 static 修饰,则该行为被所有对象所共享。

4

在开发中,往往把工具方法使用 static 修饰,如果不使用 static 修饰,则这些方法属于该类的对象,我们得先创建对象再调用方法,而在开发中工具对象只需要一份即可,若不使用 static 修饰,可能会创建 N 个对象,使得系统内存占用增多,性能低下,此时的解决办法往往把该类设计为单例的,但依然麻烦,即:在一般开发中,设计工具方法时,为了调用简单,使用 static 修饰。

5

类成员的使用利处:对对象的共享数据进行单独空间的存储,节省空间,没有必要每一个对象都存储一份,可以直接被类名调用 弊端:生命周期过长

推荐信息