技術文章
技術問答
My Project
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
文章
問答
Tag
邦友
鐵人賽
搜尋
2026 iThome 鐵人賽
DAY
20
0
Software Development
從零開始學程式語言:Java 新手修煉記
系列 第
20
篇
Day 20:類別(8)
18th鐵人賽
ling__
2026-10-04 23:55:53
61 瀏覽
分享至
本日學習:
類別的繼承
改寫
觀念類似多載
若在父類別與子類別中有相同名稱的函數,且定義名稱、引數個數與傳回值資料型別完全相同,會先呼叫「子類別」
不論宣告的是子類別還是父類別的物件,都可以呼叫子類別裡的函數 → Circle cir = new Coin(),透過父類別存取子類別物件的成員,但不能反向,
例如: Coin coin = new Circle()
super() & this()
super.資料成員:存取父類別的資料成員
super.函數名稱():呼叫父類別的函數
this():印出實例變數與區域變數
this:可以存取自己本身類別的資料成員、函數成員與建構子
super:可以存取父類別的資料成員、函數成員與建構子,有繼承關係才可使用
is-a & has-a
is-a:繼承
has-a:擁有,例如 C 類別裡包含了 D 類別的物件
設定終止繼承
在父類別的函數前加上 final,就不能在子類別中被改寫
也可以加在資料成員前面,例如:protected static final double PI = 3.14; 如此便無法在程式碼的任何地方再做修改
不希望某個類別被其他類別繼承時也可以使用,例如:final class Circle{}
final 宣告後,函數不能被改寫,類別不能被繼承
Object 類別
當一個類別沒有指定其父類別時,會自動設定繼承自 Object 這個類別
Object:置於 java.lang(java.lang.Object)
類別之源
Object 類別裡常用的函數
Class getClass():取得呼叫 getClass() 的物件所屬之類別
任何類別均可呼叫
Boolean equals(Object obj):兩格類別變數所指向的是否為同一個物件
true or false
String toString()將呼叫 toString() 的物件轉成字串
例如:a.toString()
預設的 toString() 不能表達 a 的真實內容,因此通常會改寫它,然後再印出 a 的內容
改寫:
public String toString(){
String str = "toString() called, num = " + num;
return str;
}
留言
追蹤
檢舉
上一篇
Day 19:類別(7)
下一篇
Day 21:類別(9)
系列文
從零開始學程式語言:Java 新手修煉記
共
30
篇
目錄
RSS系列文
訂閱系列文
0
人訂閱
26
Day 26:Java Collection 集合物件(2)
27
Day 27:Java Collection 集合物件(3)
28
Day 28:成果(1)
29
Day 29:成果(2)
30
Day 30:成果(3)
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
929
組
團體組數
32
組
累計文章數
20374
篇
完賽人數
534
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
18th鐵人賽
17th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
熱門問題
這樣品質的光纖工程如何驗收
Windows 10 系統還原可以倒退回來嗎?
熱門回答
這樣品質的光纖工程如何驗收
Windows 10 系統還原可以倒退回來嗎?
熱門文章
如何用 AI 準備軟體工程師面試
Claude Code 雲端實戰篇1:哪些事該丟雲端、哪些留本機,還有第一個任務的 prompt 該怎麼下
[資訊安全] React2Shell、PHP2Shell、Node2Shell 是什麼?看懂 X2Shell 漏洞家族與該修什麼
【開源工具分享】用 Python + TypeScript 實作 Codex 五小時額度自動預熱工具
Day 22:習慣完成率計算——追蹤個人目標的達成情況
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}