欢迎来到资源库(www.zyku.net)

Java教程

当前位置:首页 > 网络编程 > Java教程 > Java

java中构造器内部调用构造器实例详解

时间:2020-05-10|栏目:Java教程|点击:|我要投稿

可能为一个类写了多个构造器,有时可能想在一个构造器里面调用另外一个构造器,为了减少代码的重复,可用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 6种延时队列的实现方法(面试官也得服)

栏    目:Java教程

下一篇:返回列表

本文标题:java中构造器内部调用构造器实例详解

本文地址:https://www.zyku.net/java/1899.html

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务