zoukankan      html  css  js  c++  java
  • AJPFX关于构造器的总结

    构造器
            构造器定义
            构造器作用
            构造器特点
            构造器修饰符
            默认构造器
            构造器重载
            构造器和一般函数的区别
            何时定义构造器
            构造器私有化 private
    --------------------------------------------------------------------------------
    构造器定义
            用于给对象进行初始化的特殊函数
    --------------------------------------------------------------------------------
    构造器作用
            用于给对象进行初始化
    --------------------------------------------------------------------------------
    构造器的特点(与普通函数相比)
            > 构造器必须和类同名
            > 每个类可以有一个以上的构造器
            > 构造器可以有0个, 1个或1个以上的参数
            > 构造器没有返回值
                    所以, 构造器不可以定义返回值类型, 但可以使用"return;"语句结束构造函数
            > 构造器总是伴随着 new 操作符的执行而被调用
                    对象创建时, 就会调用与之对应的构造器来进行初始化
    --------------------------------------------------------------------------------
    构造器的修饰符
            ConstructorModifier: one of
                    Annotation public protected private
    --------------------------------------------------------------------------------
    默认构造器 for top level class, member class, or local class
            默认构造器, 是指由系统隐式声明的构造器
            ***只有类中没有声明构造器时, 系统才会隐式声明一个默认构造器
            只要类中声明了构造器, 系统便不再隐式声明默认构造器
            > 默认构造器的访问权限始终声明为类访问权限
            > 默认构造器是无参的, 
                    除了非 private 的 inner member class 的默认构造器, 
                    该默认构造器隐式声明了一个形参
                    该形参...representing the immediately enclosing instance of the class
                    默认构造器是无参构造器, 但无参构造器不一定是默认构造器
            > 默认构造器没有 throws 子句
            > 默认构造器的方法体只有一条语句, 那就是调用直接父类的无参构造器
                    只有 Object 例外, 其默认构造器方法体为空
                    若父类没有可访问的无参且没有 throws 子句的构造器, 
                            那么系统将无法隐式声明默认构造器, 报编译错误
    ---------------------------------------------
    默认构造器 for anonymous class / Anonymous Constructors 匿名构造器

    匿名内部类, 不能显式声明构造器.
    系统总是为匿名内部类隐式声明一个匿名构造器.

    匿名内部类的构造器由其实例创建表达式决定.
    匿名内部类构造器的形参个数 = 匿名内部类实例创建表达式的实参个数
    匿名内部类构造器的形参个数 = 匿名内部类实例创建表达式的实参个数 + 1
    --------------------------------------------------------------------------------
    构造器重载
            多个构造器是以重载的形式存在的
    --------------------------------------------------------------------------------
    构造器和一般函数的区别
            作用不同
                    构造器用于初始化对象
                    一般函数用于声明对象具备的功能
            写法上不同.
                    构造器名字必须和类名字相同
                    构造器没有返回值. 也就是说, 构造器不可以定义返回值类型
                    可以使用"return;"语句结束构造函数
                    一般函数的函数名必须和类名字不同
                    一般函数有返回值. 而且, 必须定义返回值类型
            运行上不同
                    对象建立时, 就会调用与之对应的构造器; 在对象的生命周期执行且只执行一次
                    对象创建后, 需要使用对象功能时才调用; 在对象的生命周期中可以被调用多次

  • 相关阅读:
    [笔记]C#基础入门(十九)——C#中else与if的匹配
    [笔记]C#基础入门(十八)——C#中多重if结构
    [笔记]C#基础入门(十七)——C#中嵌套的if结构
    [笔记]C#基础入门(十六)——C#中if...else条件结构
    [笔记]C#基础入门(十五)——C#中判断和分支
    [笔记]C#基础入门(十四)——C#用流程图描述程序逻辑
    [笔记]C#基础入门(十三)——C#的运算符优先级
    [笔记]C#基础入门(十二)——C#的赋值运算符
    [笔记]C#基础入门(十一)——C#的逻辑运算符
    程序员读书目录推荐
  • 原文地址:https://www.cnblogs.com/AJPFX/p/10841886.html
Copyright © 2011-2022 走看看