可能为一个类写了多个构造器,有时可能想在一个构造器里面调用另外一个构造器,为了减少代码的重复,可用this关键字做到这一点。

public class Flower {

private String string;

private int age;

public Flower() {

// 先调用public Flower(String string, int age)

this("leon", 120);

// 先调用public Flower(String string, int age)

}

public Flower(String string) {

this(string, 12);

}

public Flower(String string, int age) {

this.string = string;

this.age = age;

System.out.println("姓名:" this.string " 年龄: " this.age);

}

public static void main(String[] args) {

Flower flower = new Flower();

Flower flower1 = new Flower("leon");

Flower flower2 = new Flower("leon", 12);

}

}

其实可以从结果看见,这其实可普通的函数调用没什么区别,只不过是用了this这个关键字。

内容补充:

构造函数的作用

这个示例项目中的 DiceRoller 类表示一个虚拟骰子工厂:当它被调用时,它创建一个虚拟骰子,然后进行“滚动”。然而,通过编写一个自定义构造器,你可以让掷骰子的应用程序询问你希望模拟哪种类型的骰子。

大部分代码都是一样的,除了构造器接受一个表示面数的数字参数。这个数字还不存在,但稍后将创建它。

import java.util.Random;

public class DiceRoller {

private int dice;

private int roll;

private Random rand = new Random();

// constructor

public DiceRoller(int sides) {

dice = sides;

}

模拟滚动的函数保持不变:

public void Roller() {

roll = rand.nextInt(dice);

roll = 1;

System.out.println (roll);

}

代码的主要部分提供运行应用程序时提供的任何参数。这的确会是一个复杂的应用程序,你需要仔细解析参数并检查意外结果,但对于这个例子,唯一的预防措施是将参数字符串转换成整数类型。

原文链接:https://www.cnblogs.com/xpeanut/p/12863070.html

(资源库 www.zyku.net)

java构造器调用构造器_java中构造器内部调用构造器实例详解相关推荐

  1. java生成字符串数组_Java 生成随机字符串数组的实例详解

    Java 生成随机字符串数组的实例详解 利用Collections.sort()方法对泛型为String的List 进行排序.具体要求: 1.创建完List之后,往其中添加十条随机字符串 2.每条字符 ...

  2. java.exe 安装程序_java实现可安装的exe程序实例详解

    java实现可安装的exe程序实例详解 通过编写Java代码,实现可安装的exe文件的一般思路: 1.在eclipse中创建java项目,然后编写Java代码,将编写好的Java项目导出一个.jar格 ...

  3. java多态的概念_java中多态概念、实现原理详解

    一.什么是多态? 1.多态的定义 指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用) 2.多态的作用 消除类型之间的耦合关系 3.多 ...

  4. java int byte数组_Java 中int与byte数组转换详解

    1.与运算符的理解(&): 参加运算的两个数据,按二进位进行"与"运算.如果两个相应的二进位都为1,则该位的结果值为1,否则为0.即 0&0=0:0&1=0 ...

  5. java运行python脚本_java中执行python脚本工具类详解

    java中执行python脚本工具类,需要jython.jar import java.io.FileInputStream; import java.io.IOException; import j ...

  6. java json 工具类_Java中JSON处理工具类使用详解

    本文实例为大家分享了JSON处理工具类的具体代码,供大家参考,具体内容如下 import java.io.IOException; import java.util.Date; import java ...

  7. java线程和内核线程的,Java中内核线程理论及实例详解

    1.概念 内核线程是直接由操作系统内核控制的,内核通过调度器来完成内核线程的调度并负责将其映射到处理器上执行.内核态下的线程执行速度理论上是最高的,但是用户不会直接操作内核线程,而是通过内核线程的接口 ...

  8. java中List的用法和实例详解

    Java中List的用法和实例详解 List的用法 List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提 ...

  9. android中怎么网络判断,Android中判断网络是否连接实例详解

    Android中判断网络是否连接实例详解 在android中,如何监测网络的状态呢,这个有的时候也是十分重要的,方法如下: public class ConnectionDetector { priv ...

  10. python format函数实例_python中强大的format函数实例详解

    python中format函数用于字符串的格式化 自python2.6开始,新增了一种格式化字符串的函数str.format(),此函数可以快速处理各种字符串. 语法 它通过{}和:来代替%. 请看下 ...

最新文章

  1. 关于python的一些好的书籍推荐-如果只能推荐3本关于python的书,你会推荐哪3本?...
  2. HTTP代理如何正确处理Cookie
  3. linux 查找文件_LINUX常用命令全集
  4. 重拾JAVA之WinForm实战之(二)
  5. shell基础之pxe批量部署
  6. 软件需求最佳实践pdf_| 专家观点 | 彭瑜:PackML成功的秘诀 ——简论软件定义包装过程的最佳实践...
  7. Python-OpenCV人脸检测(代码)
  8. hdu 1506 单调栈问题
  9. js es6 map 与 原生对象区别
  10. vfp 什么是VFP?
  11. 【5月比赛合集】80场可报名的数据挖掘大奖赛,任君挑选!
  12. 2017最新PHP面试题
  13. C语言中%d和%i格式说明符之间的差异
  14. python 爬取音乐
  15. WPF 与 WinForm 调用系统右键菜单/资源管理器右键菜单/桌面右键菜单
  16. 双电阻差分电流采样_电流检测技术综述
  17. 相处,靠真心;深交,靠人品
  18. php面试自我介绍模板下载,php面试自我介绍范文
  19. 一本通 1287:最低通行费
  20. 当 elementUi 选中一个值,其余选项全部高亮解决

热门文章

  1. python 第三方库
  2. ARM机器学习新平台Trillium
  3. mysql的分页查询
  4. java小编程----括号是否匹配
  5. leetcode 497, 528. Random Point in Non-overlapping Rectangles | 497. 非重叠矩形中的随机点(Java)
  6. 【Nginx】Nginx配置文件参数/启动参数详解;启动/停止/重新加载配置命令
  7. Pandas高级教程之:GroupBy用法
  8. java安全编码指南之:Number操作
  9. 科普: 中间件底层实现的分布式协议之Raft
  10. kotlin学习之lambda(十)