javase -- static关键字


static.

静态的

  • 可以用于修饰属性、方法、代码块、内部类

static修饰属性:静态变量(类变量).

  • 属性除了静态变量,就是实例变量

  • 一个类的多个对象共享同一个静态变量

  • 随着类的加载而加载

  • 静态变量的加载早于对象的创建

  • 由于类的加载只会加载一次,则静态变量在内存中也只会存在一份:方法区的静态域中

变量的调用.

类变量 实例变量
类调用 可以(推荐) 不行
对象调用 可以 可以

开发中,什么时候使用静态变量.

  • 属性是可以被多个对象所共享,不会随着对象的不同而不同

static修饰方法:静态方法.

  • 随着类的加载而加载
  • 静态方法中,只能调用静态的方法或属性
  • 非静态方法中,都可以调用(不管是static还是非static)
  • 在静态方法类,不能使用 thissuper关键字:因为这两个关键字表示的都是对象,生命周期与静态方法不同(即静态的会先加载,无法调用后加载的结构,当类销毁时,静态结构才跟着销毁)

方法的调用.

静态方法 非静态方法
类调用 可以(推荐) 不行
对象调用 可以 可以

开发中,什么时候使用静态方法.

  • 操作静态属性的方法,通常设置为static的
  • 工具类中的方法

static修饰代码块:静态代码块.

代码块作用: 用于初始化类、对象

  • 随着类的加载而加载

static修饰内部类:静态内部类.


文章作者: liuminkai
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 liuminkai !
评论
 上一篇
javase -- 代码块 javase -- 代码块
代码块. 用于初始化类或对象 分类. 静态代码块 内部可以有输出语句 随着类的加载而执行 只会执行一次 作用:初始化类信息 如果定义了多个代码块,则按照声明的先后顺序执行 只能调用静态属性或静态方法 非静态代码块 内部可以输出语句 随
2020-07-30
下一篇 
javase -- 包装类 javase -- 包装类
包装类(Wrapper). 基本数据类型 包装类 byte Byte short Short int Integer long Long float Float double Double char Cha
2020-07-29
  目录