Java学习心得——对象与类
?Java 的類與對象
? ?Java作為一門面向對象的語言,它支持很多的概念,例如:封裝,多態,繼承,類,對象等等。這篇文章里主要講的是對象與類。
什么是類
? ?類比較好理解,可以與”種類“,”類別“等概念聯系起來理解。它一種描述那一類對象的行為或狀態的模板,因此一個類可以有很多對象。對于類的描述,在《巴郎AP計算機A》中是這樣說的:“A?class?is a software blueprint for implementing objects of given type.”大體意思是類是實現一種對象的一個軟件藍圖。這里則可以將其作為分類或歸類來理解。
什么是對象
? ?對象是類的一個實例,它有特定的行為與狀態。舉個例子。一只狗是一個對象,他的行為有吃飯,睡覺,吠叫,它的狀態有顏色,名字,品種。?在《巴郎AP計算機A》中對對象是這樣描述的:”Every program that you write involves at least one thing that is being created or manipulated by the program. This thing, together with the operations that manipulate it, is called an?object.”?這段話大體意思就是說,每個程序中都至少包含著一個程序被程序所創造或操縱的東西,這個東西本身與操縱它的操作并稱為對象。在這里,我們可以將操縱他的方法理解為他的行為,這個東西本身則包含了它的狀態(屬性)。
類與變量
? 下面是一個類的實例:
public class Cat{String breed;String color; int age;void walking(){ }void sleeping(){ } }?一個類中可以包含以下類型的變量
1. 局部變量 :在方法,構造方法或語句塊中被定義的變量被稱為局部變量。聲明變量與初始化都在方法中。方法結束后變量自動銷毀。
2.?成員變量 :成員變量是定義在類中,方法之外的變量。這種變量在創建對象時實例化。成員變量可以被類中方法,構造方法和特定語句塊訪問。
3. 類變量 :類變量也聲明在類中,方法體之外,但是必須聲明為static類型。
?#一個類可以有多個方法,上圖的walking(),sleeping() 都是Cat類的方法。
構造方法
? ?每個類都含有構造方法,如果沒有顯性的定義構造方法,編譯器會為該類提供一個默認的構造方法。在創建對象時至少需要調用一個構造方法,它的名字必須與類名一致。一個類可以有多個構造方法。下面是一個構造方法的示例。
public class Cat{public Cat(){}public Cat(String breed){} }?# 在這個例程中,breed的是構造器的唯一參數。
創建對象
?對象是根據類來創建的,創建對象所使用的關鍵詞為“new”。創建對象的步驟為以下三步:
1.?聲明?:聲明對象的名稱與類型。
2. 實例化?:使用關鍵字new創造對象。
3. 初始化?:在創建對象過后調用構造方法初始化對象。
下面是一個關于創建對象的例子:
public class Puppy{public Puppy(String name){//這個構造器僅有一個參數:nameSystem.out.println("小狗的名字是 : " + name ); }public static void main(String []args){// 下面的語句將創建一個Puppy對象Puppy myPuppy = new Puppy( "tommy" );} }該程序的輸出結果為:
小狗的名字是 : tommy實例化變量與方法的訪問
?我們可以通過已創建的對象來訪問成員變量及成員方法,具體方法如下:
/* 實例化對象 */ Classname ObjectReference = new Constructor(); /* 訪問類中的變量 */ ObjectReference.variableName; /* 訪問類中的方法 */ ObjectReference.MethodName();實例
?在本篇文章的最后,這個例子展示了如何創建對象,訪問成員變量與方法。
public class Workers{int workerAge;public Workers(String name){// 這個構造器僅有一個參數:nameSystem.out.println("員工的名字是 : " + name ); }public void setAge( int age ){workerAge = age;}public int getAge( ){System.out.println("員工的年齡為 : " + workerAge ); return workerAge;}public static void main(String []args){/* 創建對象 */Workers workers = new Workers( "Jack" );/* 通過方法來設定age */workers.setAge( 20 );/* 調用另一個方法獲取age */workers.getAge( );/*你也可以像下面這樣訪問成員變量 */System.out.println("變量值 : " + workers.workerAge ); } }?通過編譯并運行上面的程序,我們可以得到以下結果:
員工的名字是 : Jack 員工的年齡為 : 20 變量值 : 20# 謝謝觀看,侵刪。? ?
? ?
? ?
總結
以上是生活随笔為你收集整理的Java学习心得——对象与类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WebService Software
- 下一篇: ASP.NET MVC 重点教程一周年版