蓝鸥(www.lanou3g.com)是一家集产、学、研、创为一体的综合性移动互联网研发培训机构,致力于iOS开发、Unity3D游戏开发、Android开发、HTML5前端开发和Web安全攻防等技术人才的培养。
一、构造和析构
构造方法
构造方法时一个特殊的方法,负责初始化对象
构造方法名必须和类名一致
构造方法没有返回值,但可以有参数,能够重载
构造方法可以不写,系统会自动为类添加一个无参数的默认构造
如果将构造方法设置为Private,就不能给你再使用此构造创建实例
1、构造方法初始化成员变量实例代码
usingSystem;
namespaceLesson_13
{
publicclassPerson{
publicstringname;
publicintage;
//构造方法——负责初始化对象
//1、构造方法的方法名必须和类名一致
//2、构造方法没有返回值,不需要写void
publicPerson(){
Console.WriteLine("Hello");
//初始化成员变量
name="lanou";
age="18";
}
}
classMainClass
{
publicstaticvoidMain(string[]args)
{
//使用new关键字创建对象的时候,就已经调用了构造方法
Personp=newPerson();
Console.WriteLine(p.name);
}
}
}
2、构造方法能够添加参数
usingSystem;
namespaceLesson_13
{
publicclassPerson{
publicstringname;
publicintage;
//构造方法——负责初始化对象
//1、构造方法的方法名必须和类名一致
//2、构造方法没有返回值,不需要写void
//3\构造方法能够添加参数
publicPerson(stringname,intage){
//前面name是字段name,后面name是参数name
//初始化成员变量
this.name=name;
this.age=age;
}
}
classMainClass
{
publicstaticvoidMain(string[]args)
{
//使用new关键字创建对象的时候,就已经调用了构造方法
Personp=newPerson("老王",18);
Console.WriteLine(p.name);
}
}
}
3、构造方法允许重载
usingSystem;
namespaceLesson_13
{
publicclassPerson{
publicstringname;
publicintage;
//构造方法——负责初始化对象
//1、构造方法的方法名必须和类名一致
//2、构造方法没有返回值,不需要写void
//3、构造方法能够添加参数
publicPerson(stringname,intage){
//前面name是字段name,后面name是参数name
//初始化成员变量
this.name=name;
this.age=age;
}
//4、构造方法允许重载
publicPerson(){
name="lanou";
age=16;
}
}
classMainClass
{
publicstaticvoidMain(string[]args)
{
//使用new关键字创建对象的时候,就已经调用了构造方法
Personp=newPerson();
Personp1=newPerson("老王",18);
Console.WriteLine(p.name);
Console.WriteLine(p1.name);
}
}
}
4、如果没有类添加构造方法,系统会提供一个默认构造
usingSystem;
namespaceLesson_13
{
publicclassPerson{
publicstringname;
publicintage;
//构造方法——负责初始化对象
//1、构造方法的方法名必须和类名一致
//2、构造方法没有返回值,不需要写void
//3、构造方法能够添加参数
//publicPerson(stringname,intage){
//前面name是字段name,后面name是参数name
//初始化成员变量
//this.name=name;
//this.age=age;
//}
//4、构造方法允许重载
//publicPerson(){
//name="lanou";
//age=16;
//}
//5、如果没有类添加构造方法,系统会提供一个默认构造
//默认构造
publicPerson(){
}
}
classMainClass
{
publicstaticvoidMain(string[]args)
{
//使用new关键字创建对象的时候,就已经调用了构造方法
Personp=newPerson();
Personp1=newPerson("老王",18);
Console.WriteLine(p.name);
Console.WriteLine(p1.name);
}
}
}
5、如果将构造方法设置为Private,就不能给你再使用此构造创建实例
如果我们将某个构造方法设为私有的,就不允许再通过这个构造创建对象
二、析构方法
析构方法——在对象销毁时调用,用来释放内存的
析构方法在对象销毁时调用,用于释放内存空间
一个类只有一个析构方法
析构方法没有返回值和参数,不能进行重载
析构方法有系统自动调用,不能手动调用
析构方法没有修饰符
usingSystem;
namespaceLesson_13
{
publicclassPerson{
publicstringname;
publicintage;
//构造方法——负责初始化对象
//1、构造方法的方法名必须和类名一致
//2、构造方法没有返回值,不需要写void
//3、构造方法能够添加参数
publicPerson(stringname,intage){
//前面name是字段name,后面name是参数name
//初始化成员变量
this.name=name;
this.age=age;
Console.WriteLine("构造");
}
//4、构造方法允许重载
privatePerson(){
name="lanou";
age=16;
}
//5、如果没有类添加构造方法,系统会提供一个默认构造
//6、如果我们将某个构造方法设为私有的,就不允许再通过这个构造创建对象
//默认构造
//publicPerson(){
//}
//析构方法——在对象销毁时调用,用来释放内存的
//1、每个类只能由一个析构方法
//2、析构方法不能有返回值
//3、析构函数不能有访问权限修饰符
//4、析构函数不能带有参数,更不能重载
//5、析构函数由系统自动调用,不能手动调用
~Person(){
Console.WriteLine("析构");
}
}
classMainClass
{
publicstaticvoidMain(string[]args)
{
//使用new关键字创建对象的时候,就已经调用了构造方法
//Personp=newPerson();
Personp1=newPerson("老王",18);
Console.WriteLine("主函数结束,程序准备退出");
//Console.WriteLine(p.name);
//Console.WriteLine(p1.name);
}
}
}