美文网首页程序员
Java面向对象3--static修饰符

Java面向对象3--static修饰符

作者: buzhidao_ | 来源:发表于2016-11-28 09:16 被阅读0次

遇到什么问题?

我们说,类是对象的抽象,是对象的模板,对象是类的实例.
我们现在需要使用一种方式来表示整个事物共同都有的状态和行为.
例如:人类的总数.
很显然,这是一个整个事物共同都有的状态,那我们要怎么表示呢?
非常简单,可以使用static关键字修饰.

static修饰符

static修饰符: 表示静态的,可修饰字段、方法、内部类,其修饰的成员属于类,而不是对象级别。

static修饰符作用

用来区别字段,方法,内部类,初始化代码块是属于对象还是属于类本身。
使用static修饰的成员(变量,方法,内部类),称之为类的成员(静态成员).
没有使用static修饰的成员变量,方法,内部类. 称之为实例成员(非静态成员).

static修饰符的特点

  • 随着JVM的加载而加载.
    当JVM把static成员所在的字节码加载进JVM的时候,static就已经存在于JVM中(方法区).
  • 优先于对象存在.
    对象是我们通过new关键字创建出来的,而静态成员,在加载进JVM就已经存在了.
    注意:static不能和this一起使用. static成员随着字节码加载进入JVM,就已经分配内存空间了,而此时并没有使用new去创建对象.static存在的时候,对象级别数据还不存在.
  • 被所有当前这个类的对象所共享.
  • 调用静态成员,直接使用类名调用即可.
    静态成员属于类型,而不属于某一个具体的对象.即使我们使用对象.静态成员,其底层(看反编译文件)依然是类名.静态成员

static的使用

什么时候定义成static的字段和方法:如果这个状态/行为属于整个类,就直接使用static修饰.被所以对象所共享.
在开发中,往往把工具方法用static修饰,可以直接用类名调用

相关文章

网友评论

    本文标题:Java面向对象3--static修饰符

    本文链接:https://www.haomeiwen.com/subject/uwtopttx.html