「java静态变量使用」java静态方法可以直接使用静态变量

博主:adminadmin 2022-12-21 03:57:07 73

今天给各位分享java静态变量使用的知识,其中也会对java静态方法可以直接使用静态变量进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Java中的static变量最常用来做什么?

定义static变量是称为静态变量

理解静态变量必须先理解静态方法

因为静态方法可以通过类名直接调用

public class A{

public static void print(){

System.out.println("Hello World");

}

}

如果A类里的print方法没有带static

则调用的话必须是先创建A类的实例化对象再使用

A a=new A();

a.print();

我列举的A类里带了static 所以调用的时候直接通过类名调这个方法而无须实例化对象

A.print();

说完了static方法

我们再来看看static变量

本身来说static变量是没有特殊意义的。声明它只是为了供static方法使用.因为static方法体里所有的变量都必须是static

引用刚才的例子

public class A{

private static String str="Hello World";

public static void print(){

System.out.println(str);

}

}

因为print方法是static的,所以在它里面使用的变量必须是static

你明白了吗?

再举个例子

java有个arrays类,该类有好多static的方法,方便供用户调用,即使不new 也可以调用。例如排序方法:

static void sort(type[] a):该方法对a数组的数组元素进行排序。

就这样调用:Arrays.sort(a);

希望帮到你。

java静态变量的使用

先看主函数

首先,定义了i的值为60,输出了i++,这个时候,输出的i为60,但i的值已经变成了61,因为i++是先使用i之后再把i+1,这时,i为61

然后,t1调用了call方法,将i先定义为0,然后循环三次,循环最后一次时,输出的i为2,但是,i在循环结束前又++了一次,此时i等于3,于是,再输出i的时候,输出的为3

我上面没有提到是t1还是t2调用的i,是因为i是共用的,你也可以用,我也可以用,我把i改了,你用的时候i的值就是我改过之后的

java中静态变量的默认值是0?

1、首先局部变量在类体中,一般是最先定义的,而局部变量是在方法或各种其他语句中,

2、而方法可以同时调用成员变量和局部变量。这里以方法F()为例。

3、如果方法中的局部变量的名字和成员变量的名字相同,那么方法就会隐藏成员变量,在方法进行操作时采用局部变量。

4、而如果想使用隐藏的成员变量值,那么只需添加this.成员变量即可实现其值调用。

5、局部变量没有默认值。如果在使用局部变量时不为其赋值,那么在编译的时候就会出现错误,这是因为方法在使用局部变量时不会为其赋初值,而相反,成员变量如果没有赋值,系统会为其自动设定默认值0。

java中一个类中的静态变量有什么用

静态变量有什么用,那就把和成员变量的区别告诉你。

静态变量用static修饰:附属于类

而成员变量是附属于对象的。

具体反应在

每个对象有各自的成员变量,但是他们共享静态变量。所以静态变量相当于是大家的共有资源。

再调用方法上。静态变量可以通过类名或者对象名访问,而成员变量只能通过对象名。

因为静态变量是类编译完成后就分配了内存空间,所以不用创建对象也可以访问。

而成员变量必须在构造对象以后才会分配内存空间,只能通过对象名访问。

java中关于静态成员变量的使用

这个嘛,你要明白Test2类中的x是成员变量,而y是静态变量。

当t1和t2生成时

Test2 t1 = new Test2();

Test2 t2 = new Test2();

x和y的分配是这样的:

t1中有一个独立的变量x,t2中也有一个独立的变量x,所以t1.x和t2.x是不同的

而t1和t2中的y是相同的,它们是同一个y,所以t1.y和t2.y是相同的,另外,由于y是静态变量,所以也可以使用Test2.y的形式来使用变量y。

所以,每次对t1.x和t2.x进行的操作是互不影响的,而对t1.y和t2.y以及Test2.y的操作都使用同一个y

这就是产生那个结果的原因了。

java中的static如何使用?

有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static成员的最常见的例子是main( )。因为在程序开始执行时必须调用main(),所以它被声明为static。声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。

声明为static的方法有以下几条限制:

· 它们仅能调用其他的static方法。

· 它们只能访问static数据。

· 它们不能以任何方式引用this或super(关键字super与继承有关,在下一章中描述)。

如果你需要通过计算来初始化你的static变量,你可以声明一个static块,Static块仅在该类被加载时执行一次。

下面的例子显示的类有一个static方法,一些static变量,以及一个static 初始化块:

class UseStatic {

static int a = 3;

static int b;

static void meth(int x) {

System.out.println("x = " + x);

System.out.println("a = " + a);

System.out.println("b = " + b);

}

static {

System.out.println("Static block initialized.");

b = a * 4;

}

public static void main(String args[]) {

meth(42);

}

}

一旦UseStatic类被装载,所有的static语句被运行。首先,a被设置为3,接着static块执行(打印一条消息),最后,b被初始化为a*4或12。然后调用main(),main()调用meth(),把值42传递给x。3个println ( )语句引用两个static变量a和b,以及局部变量x 。

注意:在一个static方法中引用任何实例变量都是非法的。

下面是该程序的输出:

Static block initialized.

x = 42

a = 3

b = 12

在定义它们的类的外面,static方法和变量能独立于任何对象而被使用。这样,你只要在类的名字后面加点号运算符即可。例如,如果你希望从类外面调用一个static方法,你可以使用下面通用的格式:

classname.method( )

这里,classname 是类的名字,在该类中定义static方法。可以看到,这种格式与通过对象引用变量调用非static方法的格式类似。一static变量可以以同样的格式来访问——类名加点号运算符。这就是Java如何实现全局功能和全局变量的一个控制版本。

下面是一个例子。在main()中,static方法callme()和static变量b在它们的类之外被访问。

class StaticDemo {

static int a = 42;

static int b = 99;

static void callme() {

System.out.println("a = " + a);

}

}

class StaticByName {

public static void main(String args[]) {

StaticDemo.callme();

System.out.println("b = " + StaticDemo.b);

}

}

下面是该程序的输出:

a = 42

b = 99

static成员是不能被其所在class创建的实例访问的。

如果不加static修饰的成员是对象成员,也就是归每个对象所有的。

加static修饰的成员是类成员,就是可以由一个类直接调用,为所有对象共有的

java静态变量使用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java静态方法可以直接使用静态变量、java静态变量使用的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。