java 中的static 存在时间问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 06:41:57
public class abc
{
public static abc(...){...}
private static abcd(...){...}
public static final double abcde(...){...}
}
一个类中的static的数据的存在时间是不是从这个对象的实例被创建到被销毁的范围?
final也是一样的吗?
噢,,

final表示不可以修改,和c++的const一样

static的变量,从定义开始,一直到程序结束都是存在的,就算这个对象被销毁了,依然存在,
比如有一个类A,其中有一个静态变量s,

定义A a;

a.s=1;

则即使
a=null;
A b;
b中的s还是1

static 变量、方法存在于类被编译成class后,在内存的静态区,一个不论创建多少对象只有一个。
final 是定义后不能修改的变量 不能覆盖(可以重写)的方法
static final 综合上面两个的特征。但是可以在static块修改变量

public class X{
private static final String name="pujia";
static{
name="普家";
}
...
}

我回答不了,虽然知道怎么用,知道他们的区别,但是不知道他们存在的具体时间段!期待正确的明确的答案

2位说的很对