猿问

实例化对象的疑惑,希望前辈们指点。

这段代码中,bank的内存分配是怎么样的?
同时声明两个bank为什么又是错的?

然后,在for语句后,我又怎么样才能区别这5个bank,还是它已经被垃圾回收了?


呼啦一阵风
浏览 475回答 2
2回答

RISEBY

每一次调用new关键字,比如下面的代码Bank bank = new Bank(2001010, "kulong", "2006.05.1", "43011119870914", 5000);此时在系统的堆(Heap)上,分配了一段空间,用于存放一个Bank对象的内容随后在系统的栈(Stack)上,分配了一个指针,指向堆上分配的Bank对象不能同时声明2个Bank是因为C#的语法不允许在一个域中有同名的变量,因此第2次声明应该去掉类型说明,代码可以如下Bank bank = new Bank(xxx);bank = new Bank(xxx); //这里不需要类型说明在for循环后,所有的Bank都出了作用域,因此无法取值,也就没有区别的概念了
随时随地看视频慕课网APP
我要回答