知方号

知方号

static 关键字的五种应用场景

static 关键字主要有以下五种应用场景:

修饰成员变量修饰成员方法静态代码块修饰内部类(只能修饰内部类,也就是静态内部类)静态导包

下面我将对这五种应用场景进行一些注意事项的说明。

1、修饰成员变量

被 static 修饰的成员变量叫做静态变量,静态变量不属于某个对象,而是属于当前类。 静态变量有两种访问方式:

类名.静态变量

对象.静态变量(不推荐)

2、修饰成员方法

被 static 修饰的成员方法叫做静态方法,静态方法不属于某个对象,而是属于当前类。 静态方法有两种访问方式:

类名.静态方法

对象.静态方法(不推荐)

在静态方法中不能使用 this 和 super 两个关键字。

3、静态代码块

代码块大致可以划分为三种:静态代码块、构造代码块、普通代码块,代码格式如下:

public class StaticTest { // 静态代码块 static { } // 构造代码块 { } public void hello() { // 普通代码块 { } }}

静态代码块有以下几点需要注意:

静态代码块只会在类加载时执行,且只会执行一次。静态代码块不能访问非静态变量和非静态方法。静态代码块不能定义在任何方法内,包括静态方法。在静态代码块中不能使用 this 和 super 两个关键字。

静态代码块、构造代码块和构造器执行顺序如下:

静态代码块 --> 构造代码块 --> 构造器

在继承关系中三者执行顺序如下:

父类静态代码块 --> 子类静态代码块 --> 父类构造代码块 --> 父类构造器 --> 子类构造代码块 --> 子类构造器

注意:静态代码块只在类加载时执行一次,但构造代码块每创建一个实例对象都会执行一次。

如果想要了解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。