构造函数和复制函数java
在开放源代码,跨平台编程中,Java是(无可争议的)重量级人物。 尽管有许多很棒的 跨平台 框架 ,但很少有像Java这样统一和直接的框架 。
当然,Java还是一种非常复杂的语言,具有自己的微妙之处和约定。 关于Java的最常见问题之一是与构造函数有关 :它们是什么,它们的用途是什么?
简而言之:构造函数是在Java中创建新对象时执行的动作。 当Java应用程序创建您编写的类的实例时,它将检查构造函数。 如果存在构造函数,则Java在创建实例时在构造函数中运行代码。 很多技术术语都塞进了几句话,但是当您实际使用它时,它会变得更加清晰,因此请确保已安装Java并准备进行演示。
没有建设者的生活
如果您正在编写Java代码,即使您可能不知道它,也已经在使用构造函数。 Java中的所有类都有一个构造函数,因为即使您尚未创建一个构造函数,Java也会在编译代码时为您完成。 但是,为了演示起见,请忽略Java提供的隐藏构造函数(因为默认构造函数不会添加任何额外的功能),并在没有显式构造函数的情况下进行观察。
假设您要编写一个简单的Java掷骰子应用程序,因为您想为游戏生成一个伪随机数。
首先,您可以创建骰子类来表示物理骰子。 知道自己玩过很多龙与地下城后 ,您决定制作20面骰子。 在此示例代码中,可变骰子是整数20,代表最大可能的掷骰(20面骰子的掷骰不能超过20)。 可变滚动是最终将是随机数的占位符,而rand是随机种子。
接下来,在DiceRoller类中创建一个函数,以执行计算机模拟模头滚动所必须采取的步骤:从rand中取一个整数并将其分配给roll变量,加1以说明Java从0开始计数的事实,但是一个20面的骰子没有0值,然后打印结果。
public
void Roller
(
)
{
roll
= rand.
nextInt
( dice
)
;
roll
+=
1
;
System .
out .
println
( roll
)
;
}
最后,产生DiceRoller类的实例并调用其主要功能Roller :
只要您安装了Java开发环境(例如OpenJDK ),就可以从终端运行应用程序:
$ java dice.
java
You rolled a
12
施工人员在行动
此示例项目中的DiceRoller类代表一个虚拟骰子工厂:调用它时,它将创建一个虚拟骰子,然后将其“滚动”。 但是,通过编写自定义构造函数,可以使Dice Roller应用程序询问您要模拟哪种骰子。
大部分代码是相同的,除了构造函数接受一定数量的边。 该号码尚不存在,但稍后会创建。
模拟滚动的功能保持不变:
public
void Roller
(
)
{
roll
= rand.
nextInt
( dice
)
;
roll
+=
1
;
System .
out .
println
( roll
)
;
}
代码的主要块提供运行应用程序时提供的任何参数。 如果这是一个复杂的应用程序,则您将仔细解析参数并检查意外结果,但是对于此示例,唯一的预防措施是将参数字符串转换为整数类型:
启动该应用程序,并提供您希望裸片具有的面数:
$ java dice.
java
20
You rolled a
10
$ java dice.
java
6
You rolled a
2
$ java dice.
java
100
You rolled a
44
构造函数接受了您的输入,因此在创建类实例时,将在sides变量设置为用户指定的任何数字的情况下创建它。
构造函数是编程的强大组件。 练习使用它们来释放Java的全部潜能。
翻译自: https://opensource.com/article/19/6/what-java-constructor
构造函数和复制函数java