• 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;"语句结束构造函数
                    一般函数的函数名必须和类名字不同
                    一般函数有返回值. 而且, 必须定义返回值类型
            运行上不同
                    对象建立时, 就会调用与之对应的构造器; 在对象的生命周期执行且只执行一次
                    对象创建后, 需要使用对象功能时才调用; 在对象的生命周期中可以被调用多次

  • 相关阅读:
    Async方法死锁的问题 Don't Block on Async Code(转)
    微信小程序列表项滑动显示删除按钮
    使用CodeDom动态生成类型
    react native中state和ref的使用
    react native中props的使用
    react native组件的生命周期
    react-native debug js remotely跨域问题
    react native组件的创建
    react native基础与入门
    ionic 开发实例
  • 原文地址:https://www.cnblogs.com/AJPFX/p/10841886.html
Copyright © 2020-2023  润新知