读书人

【100分】static关于静态类的有关问题

发布时间: 2012-09-25 09:55:58 作者: rapoo

【100分】static关于静态类的问题
class Test{
static string f;
static void fun()
}

Test中的方法和field都是静态的

我在A类中这么用Test.f
B类中Test.f

请问一下 这时候Test的内存是如何分配的?
一共创建了几个对象?





[解决办法]

探讨
class Test{
static string f;
static void fun()
}

Test中的方法和field都是静态的

我在A类中这么用Test.f
B类中Test.f

请问一下 这时候Test的内存是如何分配的?
一共创建了几个对象?

[解决办法]
只占一份。我发一个代码给你去测试一下你看一下你就知道
package ch5;

public class C1 {

static int x=1;
int y=2;
public void ss(){
C1 c1=new C1();
C1 c2=new C1();
c1.x=10;
c2.x=15;
c1.y=10;
c2.y=15;
System.out.println(c1.x+","+c2.x);
System.out.println(c1.y+","+c2.y);
}
public static void main(String[] args) {
// TODO 自动生成方法存根
C1 c= new C1();
c.ss();
}

}
[解决办法]
http://www.cnblogs.com/wodepp2011/archive/2011/06/29/2151302.html
[解决办法]
1L已经回答了,没有创建该类的对象,使用都是相同的静态域的信息
[解决办法]
探讨

引用:

1L已经回答了,没有创建该类的对象,使用都是相同的静态域的信息


这位哥们 你说的“静态域”指的是啥?

[解决办法]
没有创建对象 ,
A类中这么用Test.f
B类中Test.f
在Test中第一次使用时,jvm把Test通过类加载器加载进来,放到静态方法区,属于公用的

[解决办法]
探讨

哦。 好像懂了点。 我还想请教一下啊 。 一个 类 里面都是 static 的成员

他会占用多少内存 假设该class2000行代码

[解决办法]
探讨
哦。 好像懂了点。 我还想请教一下啊 。 一个 类 里面都是 static 的成员

他会占用多少内存 假设该class2000行代码

[解决办法]
域生命期乎它的所在同步
就是它的所在被加,中的域也接著被加
被卸也同被卸

是加的,差不多是在行被使用到。


[解决办法]
这样更容易理解
static :类变量,一个类拥有的变量,不是每个实例拥有的变量
因此,只有一份

读书人网 >J2SE开发

热点推荐