posts - 206,  comments - 26,  views - 17万
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

默认有个无参的构造函数,如果写了一个有参的 则覆盖无参构造函数


//1. 访问修饰符一般情况下是public 没有返回值(连void都不用写) 方法的名称与类名一致
//2. 构造函数在创建这个对象的时候 被自动调用.程序员无法手动调用.
//3. 构造函数可以有参数.
//4. 构造函数有什么用?如果我们希望在创建这个类的对象的同时需要执行一些代码 我们就可以把这些代码写到构造函数中.
//5. this关键字代表当前对象.当前运行在内存中的那1个对象.
//6. 构造函数可以重载.
//7. 构造函数中可以调用普通的方法 但是请记住 构造函数不能在普通方法中调用.

复制代码
    class Dog
    {
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private int age;
        public int Age
        {
            get { return age; }
            set { age = value; }
        }

        public Dog(int age, string name)
            : this(age)
        {
            this.age = 12;//调用这个构造函数 age的值是12
            this.name = name;
            Console.WriteLine("大家好,两个参数的构造函数....备调用了.");
            //this.Shout();
        }

        public Dog(int age)
        {
            this.age = age;
            Console.WriteLine("只有1个参数并且参数类型是int类型构造函数备调用了.");
        }

        public Dog(string name)
        {
            this.name = name;
        }

        /// <summary>
        ///  叫的方法..
        /// </summary>
        public void Shout()
        {
            Console.WriteLine("往往往往,........");
        }

        public void SayHi()
        {

            Console.WriteLine("大家好,我是{0},我今年{1}了.", name, age);
        }

    }
复制代码
            Dog d = new Dog(1, "小白"); 

结果:

只有1个参数并且参数类型是int类型构造函数备调用了.
大家好,两个参数的构造函数....备调用了.

 


//8. this关键字用处之2:调用其他的构造函数.
//9. 如果1号构造函数调用了另外2号构造函数 在创建类的对象的时候 如果调用的是1号构造函数.
//会先调用1号构造函数 再调用2号构造函数 再执行2号构造函数 再执行1号构造函数.
//10. 如果程序员没有为类手动的添加任意的构造函数 那么C#编译器在编译的时候 会自动的为这个类生成1个无参数的空方法体的构造函数.隐式构造函数.
//11. 一旦程序员为类手动的添加了任意的构造函数.那么C#编译器在编译的时候就不会再为这个类添加1个无参数的空方法体的构造函数.

posted on   努力--坚持  阅读(843)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示