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

AJPFX关于构造器的总结的更多相关文章

  1. Java之类的构造器(反射)

    反射: Java反射机制:指的是在Java程序运行状态中,对于任何一个类,都可以获得这个类的所有属性和方法;对于给定的一个对象,都能够调用它的任意一个属性和方法.这种动态获取类的内容以及动态调用对象的 ...

  2. Swift3.0P1 语法指南——构造器

    原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...

  3. Duilib源码分析(二)控件构造器—CDialogBuilder

    上一节了解了大体流程,但是界面控件元素是如何被加载.解析.构建.管理.控件消息如何处理的呢?接下来我们将结合控件构造器进行分析: CDialogBuilder:控件构造器,主要用以解析xml配置文件并 ...

  4. java面向对象_构造器

    构造器(构造方法):是类中定义的方法. 1)常常用于给成员变量赋值: 2)与类同名,没有返回值类型,也不能写void: 3)在创建对象时被自动调用.所以构造方法的访问修饰符要用public,才能被自动 ...

  5. 静态工厂方法VS构造器

    我之前已经介绍过关于构建者模式(Builder Pattern)的一些内容,它是一种很有用的模式用于实例化包含几个属性(可选的)的类,带来的好处是更容易读.写及维护客户端代码.今天,我将继续介绍对象创 ...

  6. 008-Scala主构造器、私有构造器、构造器重载实战详解

    008-Scala主构造器.私有构造器.构造器重载实战详解 Scala主构造器实战 无参数的主构造器 分析 1.name 需要赋初值,一般通过占位符来代表空值 2.private 声明私有的age 生 ...

  7. 【Thinking in Java】编写构造器时应注意:尽量避免调用其他非private方法

    最近重温了<Thinking in Java>,发现了一个让我为之兴奋的知识漏洞,必须得分享一下. 上一篇的<Java类初始化的过程>的随笔中,那个初始化顺序并不完整.初始化的 ...

  8. java构造器

    java的构造器不是方法,因为没有返回值. 构造器可以重载. 构造器的访问说明符: private:只有本类可以使用这个构造器. protected:这个类的子类和包中的类都可以使用此构造器. pub ...

  9. javascript对象初探(一)--- 构造器函数

    我们可以通过构造器函数(简称构造函数)来创建对象: function Her(){ this.child = 'Jon'; } 为了使用该函数来创建对象,我们需要使用new操作符,例如: var sh ...

随机推荐

  1. MySQL存储结构的使用

    前言 今天公司老大让我做一个MySQL的调研工作,是关于MySQL的存储结构的使用.这里我会通过3个样例来介绍一下MySQL中存储结构的使用过程,以及一些须要注意的点. 笔者环境 系统:Windows ...

  2. 手把手教你_怎么找android应用的包名和启动activity

    自己主动化測试中常常遇到这个问题,关于这个题目,方法众多,咱的目的是找个比較简单靠谱的: 方法一: 先进入cmd窗体,adb shell 后: cd /data/data ls 能够看到包名了吧,缺点 ...

  3. Oracle学习(18)【DBA向】:分布式数据库

    分布式数据库 什么是分布数据库? l数据物理上被存放在网络的多个节点上,逻辑上是一个总体. 分布式数据库的独立性 l分布数据的独立性指用户不必关心数据怎样切割和存储,仅仅需关心他须要什么数据. Ora ...

  4. 在线生成32位和16位大小写MD5密文

    MD5是一种不可逆的加密算法,全称是Message-Digest Algorithm 5(信息-摘要算法).是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一. MD5的典型应用是对一段 ...

  5. 2016/05/10 thinkphp 3.2.2 ①系统常量信息 ②跨控制器调用 ③连接数据库配置及Model数据模型层 ④数据查询

    [系统常量信息] 获取系统常量信息: 如果加参数true,会分组显示: 显示如下: [跨控制器调用] 一个控制器在执行的时候,可以实例化另外一个控制,并通过对象访问其指定方法. 跨控制器调用可以节省我 ...

  6. flask的路由配置,特殊装饰器

    1,flask中的路由 endpoint-url_for反向地址 endpoint默认是视图函数名endpoint="雪雪" methods 指定视图函数的请求方式,默认GET d ...

  7. solr 命令

    本文为转载内容:源地址:http://blog.csdn.net/matthewei6/article/details/50620600 查看帮助 bin/solr -help            ...

  8. ios学习顺序表

  9. BZOJ_3058_四叶草魔杖_kruscal+状压DP

    BZOJ_3058_四叶草魔杖_kruscal+状压DP Description 魔杖护法Freda融合了四件武器,于是魔杖顶端缓缓地生出了一棵四叶草,四片叶子幻发着淡淡的七色光.圣剑护法rainbo ...

  10. zoom和transform scale

    一.zoom zoom的字面意思是“变焦”,摄影的时候常用到的一个概念.对于web上的zoom效果,你也可以按照此概念理解.可以改变页面上元素的尺寸,属于真实尺寸. 在旧的web时代.*zoom: 1 ...