才开始学C#,提个初级问题请大家不要笑话啊.
是这样的,对于 int i;跟 int i = new int();的区别是不是就是后者调用了默认的构造函数,相当于int i = 0;啊?
还有,如果没有new一下的话,变量拿来用会不会有问题啊,比如Class1 MyClass; 然后直接用MyClass.method(),会不会有问题啊.是不是非要Class1 MyClass = new Class1;才行咧?
是这样的,对于 int i;跟 int i = new int();的区别是不是就是后者调用了默认的构造函数,相当于int i = 0;啊?
还有,如果没有new一下的话,变量拿来用会不会有问题啊,比如Class1 MyClass; 然后直接用MyClass.method(),会不会有问题啊.是不是非要Class1 MyClass = new Class1;才行咧?
比如Class1 MyClass; 然后直接用MyClass.method(),会不会有问题啊.是不是非要Class1 MyClass = new Class1;才行咧?
对于这部分,可以直接用类名调用,但是前提是你的方法为静态的!!!!!
调用一个类中的方法通常是先实例化一个它的对象,再用对象调用方法!
int i;跟 int i = new int();
前者没有为它分配内存空间
Class1 MyClass = new Class1();跟int i = new int();差不多不同的地方在于栈上的空间里面放的东西不一样,它你面放的是 Class1();在堆上的地址。
作为运算符, 用于创建对象和调用构造函数。
作为修饰符,用于向基类成员隐藏继承成员。
new一个class时,new完成了以下两个方面的内容:一是调用newobj命令来为实例在托管堆中分配内存;二是调用构造函数来实现对象初始化。
new一个int时,new运算符用于初始化其值为0