一、构造和析构
构造方法
构造方法时一个特殊的方法,负责初始化对象
构造方法名必须和类名一致
构造方法没有返回值,但可以有参数,能够重载
构造方法可以不写,系统会自动为类添加一个无参数的默认构造
如果将构造方法设置为Private,就不能给你再使用此构造创建实例
1、构造方法初始化成员变量实例代码
using System;
namespace Lesson_13
{
public class Person{
public string name;
public int age;
//构造方法——负责初始化对象
//1、构造方法的方法名必须和类名一致
//2、构造方法没有返回值,不需要写void
public Person(){
Console.WriteLine ("Hello");
//初始化成员变量
name="lanou";
age = "18";
}
}
class MainClass
{
public static void Main (string[] args)
{
//使用new关键字创建对象的时候,就已经调用了构造方法
Person p = new Person ();
Console.WriteLine (p.name );
}
}
}
2、构造方法能够添加参数
using System;
namespace Lesson_13
{
public class Person{
public string name;
public int age;
//构造方法——负责初始化对象
//1、构造方法的方法名必须和类名一致
//2、构造方法没有返回值,不需要写void
//3\构造方法能够添加参数
public Person(string name,int age){
//前面name是字段name,后面name是参数name
//初始化成员变量
this.name = name;
this.age = age;
}
}
class MainClass
{
public static void Main (string[] args)
{
//使用new关键字创建对象的时候,就已经调用了构造方法
Person p = new Person ("老王",18);
Console.WriteLine (p.name );
}
}
}
3、构造方法允许重载
using System;
namespace Lesson_13
{
public class Person{
public string name;
public int age;
//构造方法——负责初始化对象
//1、构造方法的方法名必须和类名一致
//2、构造方法没有返回值,不需要写void
//3、构造方法能够添加参数
public Person(string name,int age){
//前面name是字段name,后面name是参数name
//初始化成员变量
this.name = name;
this.age = age;
}
//4、构造方法允许重载
public Person(){
name = "lanou";
age = 16;
}
}
class MainClass
{
public static void Main (string[] args)
{
//使用new关键字创建对象的时候,就已经调用了构造方法
Person p = new Person ();
Person p1 = new Person ("老王",18);
Console.WriteLine (p.name );
Console.WriteLine (p1.name );
}
}
}
4、如果没有类添加构造方法,系统会提供一个默认构造
using System;
namespace Lesson_13
{
public class Person{
public string name;
public int age;
//构造方法——负责初始化对象
//1、构造方法的方法名必须和类名一致
//2、构造方法没有返回值,不需要写void
//3、构造方法能够添加参数
// public Person(string name,int age){
//前面name是字段name,后面name是参数name
//初始化成员变量
// this.name = name;
// this.age = age;
// }
//4、构造方法允许重载
// public Person(){
// name = "lanou";
// age = 16;
// }
//5、如果没有类添加构造方法,系统会提供一个默认构造
//默认构造
public Person(){
}
}
class MainClass
{
public static void Main (string[] args)
{
//使用new关键字创建对象的时候,就已经调用了构造方法
Person p = new Person ();
Person p1 = new Person ("老王",18);
Console.WriteLine (p.name );
Console.WriteLine (p1.name );
}
}
}
5、如果将构造方法设置为Private,就不能给你再使用此构造创建实例
如果我们将某个构造方法设为私有的,就不允许再通过这个构造创建对象
推荐视频讲师博客:http://11165165.blog.51cto.com/