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

遇到什么问题?

我们说,类是对象的抽象,是对象的模板,对象是类的实例.
我们现在需要使用一种方式来表示整个事物共同都有的状态和行为.
例如:人类的总数.
很显然,这是一个整个事物共同都有的状态,那我们要怎么表示呢?
非常简单,可以使用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修饰,可以直接用类名调用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,687评论 0 11
  • 第四章 面向对象 面向对象思想 面向对象思想的引入前面我们讲过数组,当有多个数组都需要遍历时,我们可以将遍历的代码...
    chongsheng阅读 585评论 0 0
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,142评论 0 62
  • 萨特同学在旅居意大利的时候,给《团结报》的编辑阿利卡特写了这封信,并谈了他自己对影片《伊万的童年》的一些看法。 …...
    小狐仙妮妮阅读 215评论 0 0