Java基礎教程(011):面向對象中的構造方法

10-面向對象-構造方法

構造方法也叫做構造器、構造函數。

作用:在創建對象的時候給成員變量進行初始化的。

? 一、構造方法的特點

特點說明
與類同名構造方法的名稱必須與類名相同
沒有返回類型構造方法沒有返回值,甚至不能寫 void
自動調用使用 new 創建對象時,會自動調用構造方法
可以重載可以定義多個構造方法(構造方法重載)

? 二、構造方法的分類

1. 無參構造方法(默認構造)

如果你不寫,Java 會自動提供一個無參構造方法。

public class Person {String name;int age;// 無參構造public Person() {System.out.println("調用了無參構造方法");}
}

調用:

Person p = new Person();

2. 有參構造方法

可以在創建對象時直接傳入參數來初始化成員變量。

public class Person {String name;int age;// 有參構造public Person(String name, int age) {this.name = name; // 用 this 解決成員變量與參數重名this.age = age;}void printInfo() {System.out.println("姓名: " + name + ", 年齡: " + age);}
}

調用:

Person p = new Person("張三", 20);
p.printInfo();

? 三、構造方法重載

你可以定義多個構造方法,只要參數列表不同:

public class Book {String title;double price;// 無參構造public Book() {this.title = "默認書名";this.price = 0.0;}// 一個參數的構造public Book(String title) {this.title = title;this.price = 0.0;}// 兩個參數的構造public Book(String title, double price) {this.title = title;this.price = price;}void show() {System.out.println(title + " - " + price + "元");}
}

調用:

Book b1 = new Book();
Book b2 = new Book("Java入門");
Book b3 = new Book("深入Java", 88.8);b1.show();
b2.show();
b3.show();

? 四、使用 this(...) 調用其他構造方法(構造器鏈)

public class Person {String name;int age;// 構造器鏈public Person() {this("默認名", 0); // 調用有參構造}public Person(String name, int age) {this.name = name;this.age = age;}
}

注意:this(...) 必須寫在構造方法的第一行

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/915548.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/915548.shtml
英文地址,請注明出處:http://en.pswp.cn/news/915548.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Adobe Photoshop:數字圖像處理的終極工具指南

Hi,我是布蘭妮甜 !Adobe Photoshop自1990年問世以來,已經成為數字圖像處理領域的標桿和代名詞。這款強大的軟件不僅徹底改變了攝影、設計和藝術創作的方式,還深刻影響了我們消費和感知視覺內容的文化方式。從專業攝影師到社交媒體…

本期來講講什么是LVS集群?

集群和分布式 集群(Cluster),解決某個問題將多臺計算機組合形成的系統群。 常見的集群類型: 負載均衡(LoadBalancing,簡稱LB):由多個相同配置的主機組成,每個主機經過調度承擔部分訪問&#…

JVM 類加載過程筆記

一、概述 JVM(Java Virtual Machine)在運行 Java 程序時,需要將 .class 字節碼文件加載到內存中,并轉換成可以被 JVM 執行的數據結構,這一過程就是 類加載過程(Class Loading Process)。 JVM 的…

基于爬蟲技術的電影數據可視化系統 Python+Django+Vue.js

本文項目編號 25002 ,文末自助獲取源碼 \color{red}{25002,文末自助獲取源碼} 25002,文末自助獲取源碼 目錄 一、系統介紹二、系統錄屏三、啟動教程四、功能截圖五、文案資料5.1 選題背景5.2 國內外研究現狀 六、核心代碼6.1 查詢數據6.2 新…

如何用 LUKS 和 cryptsetup 為 Linux 配置加密

在信息安全愈發重要的今天,為 Linux 系統盤配置全盤加密已經成為很多企業和個人的選擇。LUKS(Linux Unified Key Setup)配合工具 cryptsetup 可以在不犧牲性能的前提下實現高強度加密。本文將通過一個故事化的場景,介紹整個配置過…

VIVADO技巧_BUFGMUX時序優化

1.版本說明日期作者版本說明2025xxxx風釋雪初始版本 2.概述 基于VIVADO時序約束,BUFGMUX多路時鐘選擇原語的設計3.原語介紹 7系列FPGA/UltraSCale/UltraSCaleBUFGMUX_CTRL BUFGMUX_CTRL_inst (.O(O), // 1-bit output: Clock output.I0(I0), // 1-bit input: Cloc…

服務器系統時間不準確怎么辦?

服務器系統時間不準確可能會導致日志錯亂、任務調度失敗、SSL證書校驗錯誤等問題。以下是解決辦法:🌐 一、同步系統時間的方法1. 使用 timedatectl 命令(適用于 systemd 系統)timedatectl set-ntp true # 開啟自動同步 timedatect…

零信任產品聯合寧盾泛終端網絡準入,打造隨需而變、精準貼合業務的網絡安全訪問體系

零信任網絡訪問控制(Zero Trust Network Access,ZTNA,文中零信任皆指 ZTNA)基于“永不信任,持續驗證”的理念,打破了企業基于傳統網絡邊界進行防護的固有模式。在當前日趨復雜的網絡環境下,內部…

【未限制消息消費導致數據庫CPU告警問題排查及解決方案】

一、背景 某天下午,上游系統同一時間突然下了三個大合同數據,平均每個合同數據實例在6萬以上的量級,短短幾分鐘內瞬間有20萬左右的流量涌入系統。 而在正常情況下,系統1天處理的流量也不過2千量級,當時數據庫指標監控告…

iOS開發 Swift 速記2:三種集合類型 Array Set Dictionary

初級代碼游戲的專欄介紹與文章目錄-CSDN博客 我的github:codetoys,所有代碼都將會位于ctfc庫中。已經放入庫中我會指出在庫中的位置。 這些代碼大部分以Linux為目標但部分代碼是純C的,可以在任何平臺上使用。 源碼指引:github源…

Apache基礎配置

一、Apache安裝# 安裝apache [rootwebserver ~]# yum install httpd -y# 在防火墻中放行web服務 [rootwebserver ~]# firewall-cmd --permanent --add-servicehttp success [rootwebserver ~]# firewall-cmd --permanent --add-servicehttps success# 開啟服務 [rootwebserver …

Python100個庫分享第37個—BeautifulSoup(爬蟲篇)

目錄專欄導讀📚 庫簡介🎯 主要特點🛠? 安裝方法🚀 快速入門基本使用流程解析器選擇🔍 核心功能詳解1. 基本查找方法find() 和 find_all()CSS選擇器2. 屬性操作3. 文本提取🕷? 實戰爬蟲案例案例1&#xff…

石子入水波紋效果:頂點擾動著色器實現

水面波紋的真實模擬是計算機圖形學中一個經典且重要的課題,廣泛應用于游戲、影視和虛擬現實等領域。本文將從技術原理和實現細節出發,系統介紹如何利用**頂點擾動(Vertex Displacement)**技術,結合多種輔助方法,打造既真實又高效的水面波紋效果。 一、頂點擾動的核心思想…

【FFmpeg 快速入門】本地播放器 項目

目錄 🌈前言🌈 📁 整體架構 詳細流程 📁 數據流向? 📁 隊列設計?編輯 📁 線程設計 📁 音視頻同步 📁 音頻輸出設計 📁 視頻輸出設計 📁 總結 …

Maven dependencyManagement標簽 properties標簽

dependencyManagement標簽properties標簽

前端埋坑之element Ui 組件el-progress display:flex后不顯示進度條解決方案

項目適用場景&#xff1a; <divs style"display&#xff1a;flex"> <span>這里是進度條前標題說明</span> <el-progress :percentage"50"></el-progress> </div> 問題呈現&#xff1a; el-progress進度條沒啦&#xf…

嵌入式學習-土堆PyTorch(7)-day23

損失函數的調用import torch from torch import nn from torch.nn import L1Lossinputs torch.tensor([1.0,2.0,3.0]) target torch.tensor([1.0,2.0,5.0])inputs torch.reshape(inputs, (1, 1, 1, 3)) target torch.reshape(target, (1, 1, 1, 3)) #損失函數 loss L1Loss…

【2025最新】使用neo4j實現GraphRAG所需的向量檢索

學習筆記&#xff0c;比較混亂&#xff0c;介意慎點。 背景 在將UMLS或者LightRAG構造的數據庫存入neo4j之后&#xff0c;我開始將知識圖譜運用到實際場景的使用中、例如查詢、推理。然而&#xff0c;由于字符串匹配導致大量術語在檢索時出現缺失。導致檢索效果不佳。我們需要…

【AI深究】隨機森林(Random Forest)全網最詳細全流程詳解與案例(附Python代碼演示)|集成學習|數學原理、案例流程、代碼演示及結果解讀|參數與調優、工程啟示、單棵決策樹的對比、優缺點

大家好&#xff0c;我是愛醬。本篇將會系統地講解隨機森林&#xff08;Random Forest&#xff09;的原理、核心思想、數學表達、算法流程、代碼實現與工程應用。內容適合初學者和進階讀者&#xff0c;配合公式和可視化示例。 注&#xff1a;本文章含大量數學算式、詳細例子說明…