[Java基础] 构造器
来源:互联网 发布:unix网络编程卷1 源码 编辑:程序博客网 时间:2024/06/07 06:26
1、构造器是创建对象的根本途径,通过关键字 new 来调用某个类的构造器,即可创建该类的实例对象。构造器是一个特殊的方法,用于创建类的实例,在 Java 语言里,即使使用工厂模式、反射等方式创建对象,其实质依然是依赖于构造器去创建。因此,Java 类必须包含一个或一个以上的构造器。
2、如果类中没有显式定义构造器,系统会提供一个默认的无参构造器,这个构造器的执行体是空的,不做任何事情,它保证了 Java 类至少包含一个构造器。一旦程序显式提供了构造器,系统就不再提供这个默认的构造器了。
3、通常建议为 Java 类保留无参数的默认构造器。举个例子,在继承关系中,子类的创建依赖于父类的无参构造器,所以父类不管需不需要,都得有这个无参构造器。因此,如果为一个类编写了有参数的构造器,通常还要再为该类额外编写一个无参数的构造器。
4、不能在构造器中定义返回值类型,也不能使用 void 定义构造器没有返回值类型。如果定义了返回值类型或是使用了 void ,编译时不会出错,但 Java 会把这个“所谓的构造器”当成普通方法来处理,本质上它已不再是构造器了,而是方法。
5、实际上,类的构造器是有返回值的,它返回的是该类对象实例的引用,因此,构造器的返回值类型总是当前类,这也就说明了,为什么无需为构造器定义返回值类型。但必须注意:不能在构造器里显式使用 return 来返回当前类对象的引用,因为构造器的返回值是隐式的。
6、构造器最大的用处就是在创建对象时执行初始化。当创建一个对象时,系统为这个对象的属性进行默认初始化,如果我们想改变这种默认的初始化状态,想让系统创建对象时就为该对象各属性显式指定初始值,就可以通过构造器来实现。实际上,构造器的初始化工作是建立在系统默认初始化工作之上的,就是说,创建对象的时候,系统执行默认初始化在前,构造器执行初始化在后。
7、前面我们说构造器是创建对象的根本途径,实际上,对象实例并非完全由构造器负责创建!调用构造器时,系统会先为即将要创建的对象分配内存空间,并为这个对象执行默认初始化工作,此时,对象已经产生!这些操作都是在构造器执行之前完成的。也就是说,当系统开始执行构造器的执行体之前,系统已经创建了一个对象并完成默认初始化,只是这个对象此时还不能被外部程序访问,只能在该构造器中通过关键字 this 来引用它。当构造器的执行体结束后,这个对象的引用作为构造器的返回值被返回到程序层面,外部程序才可以通过这个引用访问该对象。
8、构造器主要用于被其他方法调用,产生对象实例。因而它的访问权限通常是 public ,在一些极端的情况下,我们可以限制访问权限,把它的访问权限设置为 protected 、default 、private 。
2、如果类中没有显式定义构造器,系统会提供一个默认的无参构造器,这个构造器的执行体是空的,不做任何事情,它保证了 Java 类至少包含一个构造器。一旦程序显式提供了构造器,系统就不再提供这个默认的构造器了。
3、通常建议为 Java 类保留无参数的默认构造器。举个例子,在继承关系中,子类的创建依赖于父类的无参构造器,所以父类不管需不需要,都得有这个无参构造器。因此,如果为一个类编写了有参数的构造器,通常还要再为该类额外编写一个无参数的构造器。
4、不能在构造器中定义返回值类型,也不能使用 void 定义构造器没有返回值类型。如果定义了返回值类型或是使用了 void ,编译时不会出错,但 Java 会把这个“所谓的构造器”当成普通方法来处理,本质上它已不再是构造器了,而是方法。
5、实际上,类的构造器是有返回值的,它返回的是该类对象实例的引用,因此,构造器的返回值类型总是当前类,这也就说明了,为什么无需为构造器定义返回值类型。但必须注意:不能在构造器里显式使用 return 来返回当前类对象的引用,因为构造器的返回值是隐式的。
6、构造器最大的用处就是在创建对象时执行初始化。当创建一个对象时,系统为这个对象的属性进行默认初始化,如果我们想改变这种默认的初始化状态,想让系统创建对象时就为该对象各属性显式指定初始值,就可以通过构造器来实现。实际上,构造器的初始化工作是建立在系统默认初始化工作之上的,就是说,创建对象的时候,系统执行默认初始化在前,构造器执行初始化在后。
7、前面我们说构造器是创建对象的根本途径,实际上,对象实例并非完全由构造器负责创建!调用构造器时,系统会先为即将要创建的对象分配内存空间,并为这个对象执行默认初始化工作,此时,对象已经产生!这些操作都是在构造器执行之前完成的。也就是说,当系统开始执行构造器的执行体之前,系统已经创建了一个对象并完成默认初始化,只是这个对象此时还不能被外部程序访问,只能在该构造器中通过关键字 this 来引用它。当构造器的执行体结束后,这个对象的引用作为构造器的返回值被返回到程序层面,外部程序才可以通过这个引用访问该对象。
8、构造器主要用于被其他方法调用,产生对象实例。因而它的访问权限通常是 public ,在一些极端的情况下,我们可以限制访问权限,把它的访问权限设置为 protected 、default 、private 。
0 0
- [Java基础] 构造器
- java基础,构造器
- Java基础-构造器
- Java基础------构造器
- java基础入门-构造器-构造函数
- java基础之构造器
- Java基础复习---对象构造(构造器)
- Java基础之构造器Constructor
- Java基础——构造器
- java基础-面向对象-构造器
- Java基础之构造器调用顺序
- Java基础----构造器与方法重载
- JAVA基础-构造器和this(5)
- JAVA基础:构造器的理解
- Java基础——构造器
- JAVA 基础 - 构造函数
- JAVA基础/构造方法
- java基础-构造方法
- 浅谈前端组件的开发思路
- SearchBar 的触发事件
- 浓浓的小公司味道
- 深入理解 Laravel Eloquent(一)——基本概念及用法
- 创建操作/删除多行数据的UITableView的细节
- [Java基础] 构造器
- 添加 Bash 自定义命令
- nohup failed to run command, permisson denied
- 源码文件
- 对session和cookie的一些理解
- 基于XMPP协议(openfire服务器)的消息推送实现
- 用户过亿,成熟产品如何全面拥抱公有云?
- 在Android下调试Unity3D的应用
- 一句问候让我满血复活----献给那些在外奋斗的朋友们