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也是一样的吗?
噢,,
{
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位说的很对