Java复习(二)类与对象的基本概念
2.1面向對象的程序設計方法概述
對象
程序中:
一切皆是對象
都具有標識,屬性和行為
通過一個或多個變量來保存其狀態
通過方法實現他的行為
類
將屬性及行為相同或相似的對象歸為一類
類可以看成是對象的抽象,代表了此類對象所具有的共有屬性和行為
在面向對象的程序設計中,每一個對象都屬于某個特定的類
2.1.1抽象
過程抽象
數據抽象
2.1.2封裝
2.1.3繼承
Java僅支持單繼承
2.1.4多態
2.2類與對象
2.2.1類的聲明
聲明形式 [public] [abstract|final]class 類名稱 [extends 父類名稱] [implements 接口名稱列表] {變量成員聲明及初始化;方法聲明及方法體; }? 關鍵字
修飾符
可以有多個,用來限定類的使用方式
public公有類
abstract抽象類
final終結類
?2.2.2對象的聲明與引用
變量和對象
變量除了存儲基本數據類型的數據,還能存儲對象的引用,用來存儲對象引用的變量成為引用變量。
對象的聲明
類名 變量名
聲明一個引用變量時并沒有對象生成
對象的創建
new <類名>() eg: aclock = new Clock()2.2.3數據成員
聲明格式
[public|protected|private] [static][final][transient][volatile] 變量數據類型 變量名1[=變量初值],變量名2[=變量初值],...;格式說明
public、protected、private為訪問控制符
static指明這是一個靜態成員變量
final指明變量的值不能被修改
transient指明變量是臨時狀態(不必持久化(serialize))
volatile指明變量是一個共享變量
實例變量
沒有static修飾的變量稱為實例變量
儲存在堆中
類變量
需要加static修飾符來聲明
final修飾符
實例變量、類變量、方法參數
2.2.4方法成員
可以沒有。
分為實例方法和類方法
聲明格式 [public|protected|private] [static][final][abstract][native][synchronized] 返回類型 方法名([參數列表])[throws exceptionList] {方法體 }public、protected、private為存取控制符
static指明方法是一個類方法
final指明方法是一個終結方法
abstract指明方法是一個抽象方法
參數傳遞
值傳遞:參數類型為基本數據類型時
引用傳遞:參數類型為引用變量時(比如對象類型或數組時)
實例方法
類方法
聲明加static修飾符,不能被聲明為抽象,不能訪問實例變量。
2.2.5類的組織
包
import語句的格式
import package1[.package2..].(classname|*);
2.2.6類的訪問控制
?
關鍵字this的使用
如果形式參數與實例變量名相同,則需要在實例變量名之前加this關鍵字,否則系統會將實例變量當成形式參數。
在上面的set方法中,如果形式參數為radius,則需要在成員變量radius之前加上關鍵字this。
代碼如下: public void setRadius(int radius) { this.radius = radius }2.3對象的初始化和回收
2.3.1構造方法
一種和類同名的特殊方法
用來初始化對象
Java中的每個類都有構造方法,用來初始化該類的一個新的對象
沒有定義構造方法的類,系統自動提供默認的構造方法
沒有返回類型,修飾符void也不能有
方法重載
一個類中有兩個及以上同名的方法,但參數表不同,這種情況就被稱為方法重載。
2.3.2內存回收技術
垃圾收集器,finalize()方法
2.4枚舉類型
[public] enum 枚舉類性名稱[implements 接口名稱列表] {枚舉值;變量成員聲明及初始化;方法聲明及方法體; }枚舉類型沒有public的構造函數
枚舉值是public、static、final的。
2.4.1枚舉類型的默認方法
#取得枚舉值的數組public static T[] values() #取得枚舉值對應的字符串
public String toString() #取得對象在枚舉類型中的索引
public final int ordinal() #字符串轉換為枚舉值
public static T valueOf(String)
2.5.2聲明toString()方法
2.5.4使用DecimalFormat類
public String toString(){return ("Account#"+accountNumber+"with balance"+new java.text.DecimalFormat("$0.00").format(balance));}?
轉載于:https://www.cnblogs.com/kmxojer/p/10863322.html
總結
以上是生活随笔為你收集整理的Java复习(二)类与对象的基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .net Core 相关问题
- 下一篇: Java消息中间件的概述与JMS规范