JavaSE基础(36) static关键字(起修饰作用,也称之为修饰符)

作用:

  1. 可以修饰普通方法
  2. 可以修饰字段[ 成员字段 ]
  3. 可以修饰内部类[暂时不了解]
  4. 不可以修饰外部类
  5. 不可以修饰局部变量;
  6. 不可以构造方法

修饰字段:

  1. 有static修饰的字段应该是字段所在 类名.字段名 进行访问
  2. 没有static 修饰的字段: 字段所在的类的对象来访问
  3. 注意:非static修饰字段:错误的访问方式

修饰方法:

  1. 有static修饰的方法: 方法所在的 类名.方法名(...);
  2. 没有static修饰的方法 : 方法所在的类的对象名.方法名(...);
  3. 注意:非static修饰方法:错误的访问方式

类  :不能使用static修饰

字段:可以使用static修饰的。  特点:用static修饰的字段,被所有对象共享一份。

              可以使用类名或者对象名访问该字段。建议使用类名访问,因为,在编译的时候会自动把对象名转换为类名

                            没有使用static修饰的字段,只能使用对象名.字段名访问

方法 :与字段一样

构造方法 :不能使用static修饰

static类级别的修饰符(被修饰的成员属于类)

public static final修饰的都是全局常量

效果:加了static修饰的字段:该字段被该类所有对象共享:当一个对象修改了该字段,其他对象使用该字段,都是修改之后的值


加static修饰字段之后的堆栈费分析:

JavaSE基础(36) static关键字(起修饰作用,也称之为修饰符)_第1张图片

JavaSE基础(36) static关键字(起修饰作用,也称之为修饰符)_第2张图片

何时使用static修饰方法?

  1. 目的: 使用static修饰的方法调用方便
  2. 常见的地方: 工具类的工具方法一般都使用static修饰,调用更方便,例如: Arrays中全部都是工具方法(static)
  3. 最近面向对象语法,我们一般写的方法都写成非静态,除非非得使用static

你可能感兴趣的