admin 管理员组

文章数量: 887021


2023年12月24日发(作者:c语言c编程入门)

java中static用法

1. static是什么?

在Java中,static是一个关键字,用于表示静态的,公共的或者全局的。它可以用于多种场景,如变量、方法和代码块,用来创建独立于对象的成员。

2. static变量

static变量是类层面的变量,它与特定的对象实例无关。当一个static变量被声明时,它只有一个拷贝存在于内存中,并且可以被该类的所有实例共享。

static变量的用法如下所示:

publicclassMyClass{

staticintcount=0;

publicMyClass(){

count++;

}

publicstaticvoidmain(String[]args){

MyClassobj1=newMyClass();

MyClassobj2=newMyClass();

n("Count:"+count);//输出结果为2

}

}

在上面的例子中,count变量被声明为static,每当创建一个MyClass的实例时,count都会自增。由于count是static的,所以所有的实例共享同一个count变量。

3. static方法

static方法是属于整个类而不是特定对象实例的方法。它可以在不创建类的实例的情况下直接调用。

static方法的用法如下所示:

publicclassMyClass{

staticvoidmyStaticMethod(){

n("Thisisastaticmethod.");

}

publicvoidmyNonStaticMethod(){

n("Thisisanon-staticmethod.");

}

publicstaticvoidmain(String[]args){

icMethod();//调用静态方法

MyClassobj=newMyClass();

taticMethod();//调用非静态方法

}

}

在上面的例子中,myStaticMethod()是一个静态方法,可以直接使用类名进行调用。而myNonStaticMethod()是一个非静态方法,需要通过类的实例来调用。

4. static代码块

static代码块是用于初始化static变量的一段代码。它在类加载时执行,并且只会执行一次。

static代码块的用法如下所示:

publicclassMyClass{

staticintvalue;

static{

value=10;

n("Staticblockexecuted.");

}

publicstaticvoidmain(String[]args){

n("Value:"+value);//输出结果为10

}

}

在上面的例子中,static代码块中的代码会在类加载时执行,value变量被初始化为10,并且输出一条提示信息。

5. static类

在Java中,可以声明一个类为static类。这样的类被称为嵌套类或静态内部类。静态类与外部类无关,可以直接通过类名进行访问。

static类的用法如下所示:

publicclassOuterClass{

staticclassStaticNestedClass{

voiddisplay(){

n("Thisisastaticnestedclass.");

}

}

publicstaticvoidmain(String[]args){

NestedClassnestedObj=NestedClass();

y();//输出结果为"Thisisastaticnestedclass."

}

}

在上面的例子中,StaticNestedClass是一个静态嵌套类,可以直接通过外部类的类名进行访问,无需创建外部类的实例。

结论

通过本文我们了解了Java中static的用法以及其在变量、方法、代码块和类中的应用。使用static关键字能够创建全局的,属于类而不是特定对象实例的成员。熟练掌握static的用法能够帮助我们更好地理解和使用Java语言。


本文标签: 变量 实例 创建