博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【学习笔记】C# 构造和析构
阅读量:5161 次
发布时间:2019-06-13

本文共 1730 字,大约阅读时间需要 5 分钟。

  • 构造方法
    • 构造方法是一个特殊的方法,负责初始化对象
    • 构造方法名必须和类名一致
    • 构造方法没有返回值,但可以有参数,能够重载
    • 构造方法可以不写,系统会自动为类添加一个无参的默认构造
    • 如果将构造方法设置为Private,就不能再使用此构造创建实例
  • 析构
    • 析构方法在对象销毁时调用,用于释放内存
    • 一个类只能有一个析构方法
    • 析构方法没有返回值和参数,不能进行重载
    • 析构方法由系统自动调用,不能手动调用
    • 析构方法没有修饰符
  •   
    1 using System; 2  3 namespace FunctionDemo2 4 { 5     public class Person 6     { 7         public string name; 8         public int age; 9         //构造方法-负责初始化对象10         //1.构造方法的方法名必须和类名一致11         //2.构造方法没有返回值,不需要写void12 13         //3.构造方法能够添加参数14         public Person(string name, int age)15         {16             //初始化成员变量17             this.name = name;18             this.age = age;19             Console.WriteLine("构造");20         }21 22         //4.构造方法允许重载23         public Person()24         {25             name = "Li";26             age = 14;27 28         }29         //5.如果没有给类添加构造方法,系统会提供一个默认构造30         //6.如果我们将某个构造方法设为私有类,就不允许再通过这个构造创建对象31         //private Person()32         //{33 34         //}35         //析构方法 - 在对象销毁时调用,用于释放内存36         //1. 每个类只能有一个析构方法37         //2. 析构方法不能有返回值38         //3. 析构方法不能有访问权限修饰符39         //4. 析构函数不能带有参数,更不能重载40         //5. 析构函数由系统自动调用,不能手动调用41         ~Person()42         {43             Console.WriteLine("析构");44         }45     }46     class Program47     {48         static void Main(string[] args)49         {50             //使用new关键字创建对象的时候,就已经调用了构造方法51             Person p = new Person("Li", 29);52             Console.WriteLine(p.name);53             Console.WriteLine(p.age);54 55             Console.WriteLine("主函数结束,程序准备退出!");56 57             //Person p2 = new Person();58             //Console.WriteLine(p2.name);59             //Console.WriteLine(p2.age);60 61         }62     }63 }

     

转载于:https://www.cnblogs.com/stardream19/p/7220663.html

你可能感兴趣的文章
团队工作第二天
查看>>
System类
查看>>
tableView
查看>>
Happy Great BG-卡精度
查看>>
Xamarin Visual Studio不识别JDK路径
查看>>
菜鸟“抄程序”之道
查看>>
Ubuntu下关闭防火墙
查看>>
TCP/IP 邮件的原理
查看>>
原型设计工具
查看>>
windows下的C++ socket服务器(4)
查看>>
css3 2d转换3d转换以及动画的知识点汇总
查看>>
【Java】使用Eclipse进行远程调试,Linux下开启远程调试
查看>>
对Vue为什么不支持IE8的解释之一
查看>>
计算机改名导致数据库链接的诡异问题
查看>>
Java8内存模型—永久代(PermGen)和元空间(Metaspace)(转)
查看>>
ObjectiveC基础教程(第2版)
查看>>
centos 引导盘
查看>>
Notes of Daily Scrum Meeting(12.8)
查看>>
Apriori算法
查看>>
onlevelwasloaded的调用时机
查看>>