当前位置: 代码迷 >> Java相关 >> 构造方法和内存分配问题
  详细解决方案

构造方法和内存分配问题

热度:248   发布时间:2007-11-09 06:11:01.0
构造方法和内存分配问题
class Cat{
private static int sid=0;
private String name;
int id;
Cat(String name){
this.name =name;
id=sid++;
}
public static void main(String args[]){
Cat.sid=100;
Cat a= new Cat("a");
Cat b= new Cat("b");
}
}
一是构造函数第二行没有看懂,是什么意思,一般都是和new一起用,有第一行就够了
二是内存怎么分配,字符“a“ ”b“ 在堆内存里还是,data seg里!
搜索更多相关的解决方案: 内存  分配问题  构造  

----------------解决方案--------------------------------------------------------
this.name=name//左边的name是指该类的变量,就是对象本身的一个name,而右边的name是指传进来的参数,如果你写成:
Cat(String n),那么就可以写name=n了,一般类的变量和参数名相同的话会用到this
具体的对象在堆里,引用在栈里
----------------解决方案--------------------------------------------------------
id=sid++;关键是这行,怎么也构造进去了!
----------------解决方案--------------------------------------------------------
还有就是new出来的字符“a”在data seg 里还是在堆里!
----------------解决方案--------------------------------------------------------
id=sid++;为什么不能放进构造函数?
堆;

----------------解决方案--------------------------------------------------------
来看看..
----------------解决方案--------------------------------------------------------
  相关解决方案