技術文章
技術問答
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
20 瀏覽
分享至
本日學習:
類別的繼承
改寫
觀念類似多載
若在父類別與子類別中有相同名稱的函數,且定義名稱、引數個數與傳回值資料型別完全相同,會先呼叫「子類別」
不論宣告的是子類別還是父類別的物件,都可以呼叫子類別裡的函數 → 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 新手修煉記
共
22
篇
目錄
RSS系列文
訂閱系列文
0
人訂閱
18
Day 18: 類別(6)
19
Day 19:類別(7)
20
Day 20:類別(8)
21
Day 21:類別(9)
22
Day 22:類別(10)
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
929
組
團體組數
32
組
累計文章數
17852
篇
完賽人數
247
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
17th鐵人賽
14th鐵人賽
12th鐵人賽
18th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
熱門問題
讓 AI Agent 唯讀連 PostgreSQL:BEGIN READ ONLY 擋不住 COPY TO PROGRAM,防線該設在交易還是角色?
新的IR ? 適合嗎 Dynamic Incident Response: A Framework for Security Teams
停用網路卡隨機mac 的方式 (Random MAC Addresses for Ethernet Adapters)
我的出發點錯了嗎
excel 檔案損毀的情況
熱門回答
讓 AI Agent 唯讀連 PostgreSQL:BEGIN READ ONLY 擋不住 COPY TO PROGRAM,防線該設在交易還是角色?
我的出發點錯了嗎
熱門文章
# 第一次安裝 Codex 就上手:Windows 新手下載與設定教學
Claude Code 支援第三方推理端點:從零開始的完整設定與四項驗證
企業寄信為什麼需要 SMTP Relay?帳戶分流、IP 分流一次了解
Day 7|讓新增按鈕動起來:實作POST /api/todos
在Arduino UNO Q開發板上,使用Needle將文字輸入轉化為動作
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}