static关键字 您所在的位置:网站首页 静态变量静态方法静态代码块的执行顺序 static关键字

static关键字

2023-04-07 17:17| 来源: 网络整理| 查看: 265

简单概括

static可以修饰变量、方法、代码块、内部类。被static修饰的内容(成员变量)会变成静态成员变量,也就是类变量。类变量的生命周期和类相同,在整个程序应用运行期间都有效。

被static修饰的成员变量属于类,而普通的成员变量和方法属于对象。静态变量无法使用普通的变量否则会报错。、

用途

static关键字的作用描述就是:方便在没有创建对象的情况下进行调用(方法/变量)。

被staitc修饰的成员变量不需要依赖类的对象就能调用执行、访问

修饰方法

static方法又称为静态方法,静态方法可以直接调用,就像前面说的,不用依赖类的对象就能实现,也因为这样,静态方法不能使用this,并且也因为这样,静态方法不能调用非静态的方法和属性(也就是对象的)。但非静态的能调用静态的。

所以,如果想在不创建对象的情况下调用某个方法,就可以将这个方法设置为static。最常见的静态方法就是main方法,这就是为什么main方法是静态方法就一目了然了,因为程序在执行main方法的时候没有创建任何对象,只有通过类名来访问。

修饰变量

静态变量和非静态变的区别:

静态变量被所有对象共享,在内存中只有一个副本,在类初次加载的时候才会初始化 非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响 修饰代码块

静态代码块可以用于类的初始化,提升程序的性能。我们可以将一些只需要进行一次的初始化操作都放在static代码块中进行

修饰内部类

非静态内部类依赖于外部类的实例,也就是说需要先创建外部类实例,才能用这个实例去创建非静态内部类。而静态内部类不需要。

静态导包

在使用静态变量和方法时不用再指明 ClassName,从而简化代码,但可读性大大降低。

import static com.xxx.ClassName.* 复制代码 执行顺序

静态的执行顺序比非静态的高,静态之间的顺序按定义的顺序执行。

存在继承的情况下,初始化顺序为:

父类(静态变量、静态语句块) 子类(静态变量、静态语句块) 父类(实例变量、普通语句块) 父类(构造函数) 子类(实例变量、普通语句块) 子类(构造函数) 注意点 使用static不会改变变量或方法的作用域。 只要访问权限够所有的静态方法和静态变量都可以通过对象访问 不允许用于局部变量的定义。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有