Java中的static关键字

在Java中,存在着两种类型的变量,一种是实例变量,另外一种是类变量,也称为静态变量,用static关键字来修饰。

被static所修饰的变量和方法,

1.可以直接通过类名来调用,而不必实例化对象

静态变量和静态方法在类创建的时候,就一起创建,比构造函数、对象创建还早,和实例变量、方法不同,可以直接调用。

2.生命周期最长。

随着类的加载而加载,随着类的消失而消失,因此活得老长老长了,故称生命周期最长。

3.可以用任何方法来访问,不能使用this、super这种实例对象关键字。

因为this、super关键字表示的是实例化对象的引用,而static关键字修饰的变量和方法 在实例化对象之前就已经存在了,对于已经存在的对象(不论静态还是实例),非静态方法当然可以访问了,而理所当然的,静态方法不可能访问还不存在的实例变量和实例方法啦。

4.存放在JVM的方法区中,可开发工具类。

用static关键字修饰工具类中的方法,就可以直接用类名去调用这个方法。

static所修饰的变量和方法,只会在内存中存在一次,存放在方法区(方法区包含了常量和静态),不用每次都像实例变量或方法一样都要在堆内存中开辟内存空间。

不好的就是不能像实例变量和方法一样在规矩下随意访问。

你可能感兴趣的:(java,java)