java 定义类的静态变量

分类:函数知识网浏览量:3286发布于:2021-06-15 00:07:00

java  定义类的静态变量

因为你执行B类的main()方法时,A类中main()方法没有执行,其中的私有静态成员变量times没有发生变化,所以取到的总是1.可以将B类的main()方法的try中语句在加一条语句 A.addTimes(); 就可以达到效果了.

静态变量和静态方法都属于某个类,而不属于类的对象,可以用类名直接调用

java中什么方法可以定义静态变量 静态变量 可以将静态变量理解为类变量(与对象无关),而实例变量则属于一个特定的对象.静态变量有两种情况:静态变量是基本数据

这个根据需要而定的.如果你不需要也可以不定义的.

java类的成员变量有俩种: 一种是被static关键字修饰的变量,叫类变量或者静态变量 另一种没有static修饰,为成员变量 可以那么说: 类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享.静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期. 而实例变量取决于类的实例.每创建一个实例,java虚拟机就会为实例变量分配一次内存,实例变量位于堆区中,其生命周期取决于实例的生命周期. 注意几点: 中初始化的顺序: 加载类; 静态变量初始化; 静态块;【其只能调度静态的,不能调度非静态的】 成员变量; 构造方法;

静态变量有什么用,那就把和成员变量的区别告诉你.静态变量用static修饰:附属于类 而成员变量是附属于对象的.具体反应在 每个对象有各自的成员变量,但是他们共享静态变量.所以静态变量相当于是大家的共有资源.再调用方法上.静态变量可以通过类名或者对象名访问,而成员变量只能通过对象名.因为静态变量是类编译完成后就分配了内存空间,所以不用创建对象也可以访问.而成员变量必须在构造对象以后才会分配内存空间,只能通过对象名访问.

一般来说你使用这个方法就可以了因为是静态的所以其他对象也都能看到变化后的变量值,可能需要注意的就是这样可能会碰到的竞争条件

尽管都是静态变量,都是在程序一启动时就分配了内存空间,生命周期一样,但是作用域和可见性却不一样,类内部静态变量必须通过类名或者对象名去访问,对于private类型的静态变量你甚至只能通过公有成员函数去访问,当可以使用类名来引用该变量时,该变量在整个程序中都可见.而对于类外的静态变量(不是传统意义上的全局变量)只能在定义文件中使用,只在定义文件中可见,无法在非定义文件中使用.

1,静态方法中可以定义局部变量是静态,但是得在类体中(不知道这样理解你的话对不对) public class Test{ static int i=3,k=5; public static void main(String args[]){ Test.

public class Demo{ private int a; //实例变量 private static int a;//静态变量(也叫类变量) public void fun1(){ //这个是实例方法 } public void static fun2(){ //这个是静态方法(类方法) }}public static void main(String[] args){//这里调用实例方法Demo demo =new Demo();demo.fun1();//这里调用静态方法Demo.fun2();}不懂再问