1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 构造函数和复制函数java_什么是Java构造函数?

构造函数和复制函数java_什么是Java构造函数?

时间:2023-08-21 16:44:24

相关推荐

构造函数和复制函数java_什么是Java构造函数?

构造函数和复制函数java

在开放源代码,跨平台编程中,Java是(无可争议的)重量级人物。 尽管有许多很棒的 跨平台 框架 ,但很少有像Java这样统一和直接的框架 。

当然,Java还是一种非常复杂的语言,具有自己的微妙之处和约定。 关于Java的最常见问题之一是与构造函数有关:它们是什么,它们的用途是什么?

简而言之:构造函数是在Java中创建新对象时执行的动作。 当Java应用程序创建您编写的类的实例时,它将检查构造函数。 如果存在构造函数,则Java在创建实例时在构造函数中运行代码。 很多技术术语都塞进了几句话,但是当您实际使用它时,它会变得更加清晰,因此请确保已安装Java并准备进行演示。

没有建设者的生活

如果您正在编写Java代码,即使您可能不知道它,也已经在使用构造函数。 Java中的所有类都有一个构造函数,因为即使您尚未创建一个构造函数,Java也会在编译代码时为您完成。 但是,为了演示起见,请忽略Java提供的隐藏构造函数(因为默认构造函数不会添加任何额外的功能),并在没有显式构造函数的情况下进行观察。

假设您要编写一个简单的Java掷骰子应用程序,因为您想为游戏生成一个伪随机数。

首先,您可以创建骰子类来表示物理骰子。 知道自己玩过很多龙与地下城后 ,您决定制作20面骰子。 在此示例代码中,可变骰子是整数20,代表最大可能的掷骰(20面骰子的掷骰不能超过20)。 可变滚动是最终将是随机数的占位符,而rand是随机种子。

import java.util.Random ;

public class DiceRoller {

private int dice = 20 ;

private int roll ;

private Random rand = new Random ( ) ;

接下来,在DiceRoller类中创建一个函数,以执行计算机模拟模头滚动所必须采取的步骤:从rand中取一个整数并将其分配给roll变量,加1以说明Java从0开始计数的事实,但是一个20面的骰子没有0值,然后打印结果。

public void Roller ( ) {

roll = rand. nextInt ( dice ) ;

roll += 1 ;

System . out . println ( roll ) ;

}

最后,产生DiceRoller类的实例并调用其主要功能Roller

// main loop

public static void main ( String [ ] args ) {

System . out . printf ( "You rolled a " ) ;

DiceRoller App = new DiceRoller ( ) ;

App. Roller ( ) ;

}

}

只要您安装了Java开发环境(例如OpenJDK ),就可以从终端运行应用程序:

$ java dice. java

You rolled a 12

施工人员在行动

此示例项目中的DiceRoller类代表一个虚拟骰子工厂:调用它时,它将创建一个虚拟骰子,然后将其“滚动”。 但是,通过编写自定义构造函数,可以使Dice Roller应用程序询问您要模拟哪种骰子。

大部分代码是相同的,除了构造函数接受一定数量的边。 该号码尚不存在,但稍后会创建。

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 ) ;

}

代码的主要块提供运行应用程序时提供的任何参数。 如果这是一个复杂的应用程序,则您将仔细解析参数并检查意外结果,但是对于此示例,唯一的预防措施是将参数字符串转换为整数类型:

public static void main ( String [ ] args ) {

System . out . printf ( "You rolled a " ) ;

DiceRoller App = new DiceRoller ( Integer . parseInt ( args [ 0 ] ) ) ;

App. Roller ( ) ;

}

}

启动该应用程序,并提供您希望裸片具有的面数:

$ 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的全部潜能。

翻译自: /article/19/6/what-java-constructor

构造函数和复制函数java

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。