Java 對象和類
Java作爲一種面嚮對象語言。支持以下基本概念:(有學過C++的,應該也瞭解過對象和類)
- 多態
- 繼承
- 封裝
- 抽象
- 類
- 對象
- 實例
- 方法
- 重載
- 對象:對象是類的一個實例(要牢記這句話),有狀態和行爲。例如,一條狗是一個對象,它的狀態有:顏色、名字、品種;行爲有:搖尾巴、叫、喫等。
- 類:類是一個模板,它描述一類對象的行爲和狀態。
舉個簡單的例子:
男孩(boy)、女孩(girl)爲類(class),而具體的每個人爲該類的實例,稱爲對象(object)
構造方法
每個類都有構造方法。如果沒有顯式地爲類定義構造方法,Java 編譯器將會爲該類提供一個默認構造方法。
在創建一個對象的時候,至少要調用一個構造方法。構造方法的名稱必須與類同名,一個類可以有多個構造方法。
下面是一個構造方法示例:
public class Programer{
public Programer(){
}
public Programer(String name){
// 這個構造器僅有一個參數:name
}
}
創建對象
對象是根據類創建的。在Java中,使用關鍵字 new 來創建一個新的對象。創建對象需要以下三步:
- 聲明:聲明一個對象,包括對象名稱和對象類型。
- 實例化:使用關鍵字 new 來創建一個對象。
- 初始化:使用 new 創建對象時,會調用構造方法初始化對象。
下面是一個創建對象的例子:
public class Programer{
public Programer(String name){
//這個構造器僅有一個參數:name
System.out.println("程序員的名字是 : " + name );
}
public static void main(String[] args){
// 下面的語句將創建一個Puppy對象
Puppy myProgramer = new Programer( "Jerry" );
}
}
訪問實例變量和方法
通過已創建的對象來訪問成員變量和成員方法,如下所示:
/* 實例化對象 */
Object referenceVariable = new Constructor();
/* 訪問類中的變量 */
referenceVariable.variableName;
/* 訪問類中的方法 */
referenceVariable.methodName();
源文件聲明規則
在本節的最後部分,我們將學習源文件的聲明規則。當在一個源文件中定義多個類,並且還有import語句和package語句時,要特別注意這些規則。
- 一個源文件中只能有一個 public 類
- 一個源文件可以有多個非 public 類
- 源文件的名稱應該和 public 類的類名保持一致。例如:源文件中 public 類的類名是 Employee,那麼源文件應該命名爲Employee.java。
- 如果一個類定義在某個包中,那麼 package 語句應該在源文件的首行。
- 如果源文件包含 import 語句,那麼應該放在 package 語句和類定義之間。如果沒有 package 語句,那麼 import 語句應該在源文件中最前面。
- import 語句和 package 語句對源文件中定義的所有類都有效。在同一源文件中,不能給不同的類不同的包聲明。
示例
下面的例子展示如何訪問實例變量和調用成員方法:
public class Programer{
int programerAge;
public Programer(String name){
// 這個構造器僅有一個參數:name
System.out.println("程序員的名字是 : " + name );
}
public void setAge( int age ){
programerAge = age;
}
public int getAge( ){
System.out.println("程序員的年齡爲 : " + programerAge );
return programerAge;
}
public static void main(String[] args){
/* 創建對象 */
Programer myProgramer = new Programer( "Jerry" );
/* 通過方法來設定age */
myProgramer.setAge( 28 );
/* 調用另一個方法獲取age */
myProgramer.getAge( );
/*你也可以像下面這樣訪問成員變量 */
System.out.println("變量值 : " + myProgramer.programerAge );
}
}
參考: