C#概念性的问题 【求助】
在一个类的方法中 实例化一个自己类型的对象 怎么理解 class A { public void a() { A a = new A(); a.show(); } public void show() { Console.Write("A"); } } 怎么理解? A a = new A(); A a a是A的引用 new A() m指向A类 A类都没有定义完 也就是说在托管堆里面 系统还没有为 A分配空间 这个时候我们定义A类型的引用a 然后系统会查找A类型是否存在 问题是根本找不到 因为他还没有被定义 后面就更不理解了 A类都没有定义完 托管堆中怎么可能分配空间列?? 更别谈 要a指向 A类 想不通啊
(前5的回答省略了) 6、 A类对象的生成。 第一次生成的对象是用下面的方法吗? public void a() { A a = new A(); a.show(); } 回答是否定的。 其实每次都不是。 每次都是用的类的构造函数。 在这里,构造函数是缺省的。 缺省时其构造函数被自动生成(默认)。 构造函数执行时,开辟内存空间和初始化。 执行完了时,一个实例对象完成。 所以在a()这个方法中写A a = new A(); 是没问题的, 但是在构造函数里写的话执行时就会报错(编译也没问题)。 它是个无限循环。 那个就不行了。 不信你可以试一试。
答:第2个void可以省略. void在C语言中也是一种数据类型 1、void用在函数前表示函数不返回任何值,用在参数表里表示该函数无参数,但通常可以省略,void...详情>>
答:我建议你去--天下网吧联盟 这里面都是网吧业主和网管交流的论坛,你可以自己注册一个用户进去看看,你可以和他们交流也可以寻求他们的帮助,我想没有你解决不了的问题,...详情>>
答:格式化文本区域的段落标记,用于规定文本和层的属性和位置等。比如: 新浪网 用来规定 新浪网 这三个字居中显示。 文本中心(CENTER)、左(LEFT)或右(R...详情>>