下面是代码所示,第一个不会报错,第二个则会报错。
1.
class myClass
{
public int Val;
public myClass(int newInt)
{
Val = newInt;
}
}
2.
class abc
{
public int Val;
//方法必须具有返回类型;
public abc1(int newInt)
{
Val = newInt;
}
}
我的可用分数已经不多,麻烦各位大侠为小弟解答下,谢谢先。
------解决方案--------------------------------------------------------
那是构造函数,默认构造函数是不带参数的,你可以增加其他带参数的构造函数重载
------解决方案--------------------------------------------------------
构造函数须与类同名,另外关于构造函数,参考http://msdn.microsoft.com/zh-cn/library/ace5hbzh.aspx
------解决方案--------------------------------------------------------
方法必须有返回类型
那不是方法
是构造函数
好好学学C#语法
------解决方案--------------------------------------------------------
构造函数是没有返回类型的
你如果定义一个函数肯定要有返回类型啊,没有就是void。
建议楼主看看什么是构造函数吧,其实上次我也遇到一个问题,构造函数的重载,还有什么是单例模式等等。
------解决方案--------------------------------------------------------
构造函数,可以对成员在实例化的时候有默认值
1.
class myClass
{
public int Val;
public myClass(int newInt)
{
Val = newInt;
}
}
见解:你实例化myclass的时候传入一个参数,这个参数作为Val的值
2.
class abc
{
public int Val;
//方法必须具有返回类型;
public abc1(int newInt)
{
Val = newInt;
}
}
这里的abc1不是构造函数,故可以有返回类型
------解决方案--------------------------------------------------------
第一个是构造函数 因为特殊 所以语法上没有了void
第二个是成员函数
构造函数的作用就是分配内存,然后初始化值
class myClass
{
public int Val;
public myClass(int newInt)
{
Val = newInt;
}
public void PrintVal()
{console.writeline(Val);}
}
myClass a=new MyClass(7);
a.PrintVal();
myClass a=null;
a.PrintVal();//这个会报未将对象引用设置到对象的实例的错误
因为还没有分配到内存 何来执行