在Java中,当为一个类创建了多个构造函数时,有时想在一个构造函数中调用另一个构造函数以减少代码量。这时可以使用this关键字来实现。

通常,当使用this关键字时,它意味着“这个对象”或者“当前对象”,并且它自身产生对当前对象的引用。在一个构造函数中,当给传递给它一个参数列表时,它就有了不同的意义。

它将直接的调用能够匹配这个参数列表的构造函数。因此,我么可以直接的调用其它构造函数:

package www.ineeke.com;
public class Neeke{ int age = 0;
String name = ""; Neeke(int a){
age = a;
System.out.println("age:" + age);
} Neeke(String n){
name = n;
System.out.println("name:" + name);
} Neeke(int a, String n){
this(a);
this.name = n;
System.out.println("both!");
}
}

为什么构造函数Neeke(int a, String n)中的name赋值不可以调用对应的构造方法呢?尽管可以在构造函数中调用构造函数,但是只可以调用一次,并且构造函数的调用必须排

在第一位,否则将会出现编译时错误。

译自《Thinking in Java》第四版

 » 本文转载链接地址: http://www.ineeke.com/archives/1240/

最新文章

  1. C语言中,头文件和源文件的关系(转)
  2. TranslateAnimation参数
  3. Visibility属性控制元素的显示和隐藏
  4. swift3.0的改变
  5. 19条ANDROID平台设计规范(转)
  6. 怎样创建FTP服务器
  7. idea+maven
  8. Eclipse Useful Plugins Links
  9. java 并发多线程 锁的分类概念介绍 多线程下篇(二)
  10. 第三方jar包上传私服和项目使用
  11. bzoj 3597 [Scoi2014] 方伯伯运椰子 - 费用流 - 二分答案
  12. [Postman]Cookies(12)
  13. Android项目实战(五十):微信支付 坑总结
  14. 左侧滚动条js
  15. [转] Mongoose 参考手册
  16. javascript常用工具类整理(copy)
  17. Maven的课堂笔记4
  18. canvas学习-----1px线条模糊问题
  19. 如何使用IconFont 图标
  20. salesforce 零基础学习(六十三)Comparable实现Object列表数据的自定义排序

热门文章

  1. propertychange 属性说明
  2. git常用别名设置,保存一份
  3. Java匿名对象和匿名类总结
  4. html5视频video积累
  5. pip镜像源
  6. js改变select的选中项不触发select的change事件
  7. Python 中的几种矩阵乘法 np.dot, np.multiply, *
  8. python发短信功能
  9. J2EE分布式服务基础之RPC
  10. 开始写博客,与ITer们互相学习