博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
this关键字与构造器转发
阅读量:6594 次
发布时间:2019-06-24

本文共 664 字,大约阅读时间需要 2 分钟。

构造器重载:

  构造器犹如方法一样可以进行重载,只要参数类型和参数个数不一样就可以。构造器重载就好像提供了多个选择,可以选择无参数构造器可以选择int类型参数构造器、可以选择String类型构造器等等,一个程序往往会有多种情况,构造器重载则可以选择不同的初始化方式。例如:

如图new不同参数的对象,每个对象的构造方式就不一样

this关键字:

  this表示当前对象,this关键字只能写在实例成员内,实例方法和实例属性可以用this关键字。例如this.name表示的是当前对象的name属性。例如:

  在java里不同的区域重名是可以的,大括号内表示一个区域,在大括号以外重名是允许的,java使用变量名称是就近原则。在参数、变量与对象属性重名的情况下就需要使用this来表示,不然会报错,因为编译器不知道你使用的是哪个,所以需要用this指出。

构造器转发:

  使用this可以进行构造器转发,但是this只能写在构造器的第一行代码上,写在其他代码下是会报错的。

 main方法里new的是无参数构造器,自然会先执行无参数构造器里的代码,然后遇到构造器转发再去执行对应的构造器里的代码,执行完之后再返回上一个构造器执行this下面的代码。this的括号内写的值会转发到具有对应参数类型的构造器,然后这个构造器会先执行,执行完毕后再到原本的构造器执行,有点类似于方法的递归。

本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1974038,如需转载请自行联系原作者

你可能感兴趣的文章
前端技术 | react-router,去中心化式路由
查看>>
iOS加密解密算法
查看>>
如何对接PaaS平台外部的Maven仓库以及如何使用平台自带Maven仓库
查看>>
JavaScript 算法
查看>>
Redis +Codis 百万并发同城多机房使用与经验
查看>>
年终回顾,为你汇总一份「后端架构技术清单」
查看>>
20 分钟教你搞懂 Git!
查看>>
为了避免性别偏见 Google翻译将思考如何解决问题
查看>>
区块链软件公司:为什么区块链项目真正落地的那么少
查看>>
在Developerkit开发板上运行blink例程
查看>>
别人的双11 & 程序员的双11~
查看>>
互联网垂直社交创业新形态——ThinkSNS
查看>>
C#中两个冒号(::)的作用
查看>>
sed指定行范围匹配(转贴!)
查看>>
Linux 特殊命令--dd 及Linux补丁制作
查看>>
算法的力量(转李开复)
查看>>
certbot在Centos7上配置合法签名证书,实现nginx的https访问
查看>>
Linux下NFS服务器的搭建与配置
查看>>
Nginx编译安装和配置详解
查看>>
我的友情链接
查看>>