• 构造函数和析构函数


    析构函数 --- 当进行垃圾回收时,就执行析构函数中的代码,释放资源

    namespace ConsoleApplication1
    {
        class MyClass
        {
            public MyClass()
            {
                //默认的构造函数
            }
    
            public MyClass(int myint)
            {
                //非默认的构造函数
            }
    
            ~MyClass()
            {
                //析构函数
            }
        }
    
        class Car
        {
            private string description;
            private uint nWheels;
            public Car(string description, uint nWheels)
            {
                this.description = description;
                this.nWheels = nWheels;
            }
    
            public Car(string description) : this(description, 4)
            {
                //构造函数初始化器 --- this关键字仅调用参数最匹配的那个构造函数, 构造函数初始化器在构造函数之前执行
            }
        }
    }

    --------------------------------------------------------
    构造函数

    共同点:
    都是实例化对象,初始化数据的
    默认构造是说所有的类都从祖先object那继承了空参的构造方法,你不写与写空参构造都存在,而有参数的构造一般是自己写的,写就有不写就没有,它的作用和空参的一样,只是它里面可以有参数,给你个例子来说明吧
    有一个类Monitor它有属性String height;String width
    public Monitor(){}
    public Monitor(String height,String width){}
    有一个空参的一个有参的构造的方法
    在main方法里我做初始化动作
    Monitor monitor=new Monitor();
    这个构造只是把显示器这个对象创造出来了,它的属性就没有值,也可以再手动给它赋上值
    如:monitor.height=100;
       monitor.width=200;
    用有参的就不一样了,少很多事
    Monitor monitor2=new Monitor("100","200");
    在这里我只要把想放进去的参数直接放进去就能给我的属性赋上值,是不是省了很多事?
    这就是它的优势!
    回答完结!

  • 相关阅读:
    how to singleton pattern !
    n6600 支持keepalive吗?
    6600的几个不可能的任务!
    Heyy.... i am back with 100 Apps for nokia 6600!
    http client chunked implement via sun
    Excel公司正式发售WinA&D 4.0
    快速开发rails、==常用插件==
    单独使用ActionMailer作为邮件发送器为迩的程序发送报告
    如何在win7上添加自动启动项
    gem install 报错或是太慢,gem install 本地安装
  • 原文地址:https://www.cnblogs.com/chrisghb8812/p/6089379.html
Copyright © 2020-2023  润新知