中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中構造器的原理是什么

發布時間:2021-05-10 17:34:13 來源:億速云 閱讀:310 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關Java中構造器的原理是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

java基本數據類型有哪些

Java的基本數據類型分為:1、整數類型,用來表示整數的數據類型。2、浮點類型,用來表示小數的數據類型。3、字符類型,字符類型的關鍵字是“char”。4、布爾類型,是表示邏輯值的基本數據類型。

導讀

構造器是編程的強大組件。使用它們來釋放 Java 的全部潛力。

在開源、跨平臺編程領域,Java 無疑(?)是無可爭議的重量級語言。盡管有許多偉大的跨平臺框架,但很少有像 Java 那樣統一和直接的。

當然,Java 也是一種非常復雜的語言,具有自己的微妙之處和慣例。Java 中與構造器 constructor有關的最常見問題之一是:它們是什么,它們的作用是什么?

簡而言之:構造器是在 Java 中創建新對象object時執行的操作。當 Java 應用程序創建一個你編寫的類的實例時,它將檢查構造器。如果(該類)存在構造器,則 Java 在創建實例時將運行構造器中的代碼。這幾句話中包含了大量的技術術語,但是當你看到它的實際應用時就會更加清楚,所以請確保你已經安裝了 Java 并準備好進行演示。

沒有使用構造器的開發日常

如果你正在編寫 Java 代碼,那么你已經在使用構造器了,即使你可能不知道它。Java 中的所有類都有一個構造器,因為即使你沒有創建構造器,Java 也會在編譯代碼時為你生成一個。但是,為了進行演示,請忽略 Java 提供的隱藏構造器(因為默認構造器不添加任何額外的功能),并觀察沒有顯式構造器的情況。

假設你正在編寫一個簡單的 Java 擲骰子應用程序,因為你想為游戲生成一個偽隨機數。

首先,你可以創建骰子類來表示一個骰子。你玩了很久《龍與地下城》,所以你決定創建一個 20 面的骰子。在這個示例代碼中,變量 dice 是整數 20,表示可能的最大擲骰數(一個 20 邊骰子的擲骰數不能超過 20)。變量 roll 是最終的隨機數的占位符,rand 用作隨機數種子。

import java.util.Random;
public class DiceRoller {
 private int dice = 20;
 private int roll;
 private Random rand = new Random();

接下來,在 DiceRoller 類中創建一個函數,以執行計算機模擬模子滾動所必須采取的步驟:從 rand 中獲取一個整數并將其分配給 roll變量,考慮到 Java 從 0 開始計數但 20 面的骰子沒有 0 值的情況,roll 再加 1 ,然后打印結果。

import java.util.Random;
public class DiceRoller {
 private int dice = 20;
 private int roll;
 private Random rand = new Random();

最后,產生 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

在本例中,沒有顯式構造器。這是一個非常有效和合法的 Java 應用程序,但是它有一點局限性。例如,如果你把游戲《龍與地下城》放在一邊,晚上去玩一些《快艇骰子》,你將需要六面骰子。在這個簡單的例子中,更改代碼不會有太多的麻煩,但是在復雜的代碼中這不是一個現實的選擇。解決這個問題的一種方法是使用構造器。

構造函數的作用

這個示例項目中的 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);
}

代碼的主要部分提供運行應用程序時提供的任何參數。這的確會是一個復雜的應用程序,你需要仔細解析參數并檢查意外結果,但對于這個例子,唯一的預防措施是將參數字符串轉換成整數類型。

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

以上就是Java中構造器的原理是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新竹县| 白玉县| 重庆市| 长汀县| 巩义市| 乳山市| 嵊州市| 东乌珠穆沁旗| 广东省| 抚松县| 鄯善县| 成武县| 乌海市| 渝中区| 锦州市| 宁南县| 吕梁市| 东兰县| 乌兰县| 瑞安市| 上饶县| 扎囊县| 孝义市| 绥棱县| 和龙市| 锡林郭勒盟| 郓城县| 寻乌县| 乾安县| 肃南| 灌阳县| 永仁县| 囊谦县| 茂名市| 大田县| 绥滨县| 左权县| 达孜县| 来安县| 永善县| 城市|