一,類和對象的概念
類:類是用於定義某種相同性質的事物的描述,它描述一類對象的屬性和狀態(方法)。
對象:對象是類的一個實例,它表示一個獨立的個體,每個對象擁有自己獨立的屬性,依靠屬性來區分不同對象。
類可以理解爲動物,而動物中包括了許多對象,例如:貓,狗,豬,它們都是對象,是動物的具體一種。
二,類
java中定義類,用關鍵字class完成。
class 類名{
屬性(變量)
狀態(方法
實例:
class Animal{ //類名稱首字母大寫
//屬性
String name;
String color;
//狀態
public void eat(){
System.out.println("動物吃肉");
}
public void sleep(){
System.out.println("動物睡覺");
}
}
一個類中可以包含以下變量:
- 局部變量:在方法或者語句塊中定義的變量叫局部變量。變量在方法中聲明和初始化。
- 成員變量:成員變量定義在類中,方法體外。這種變量在創建對象的時候實例化(分配內存);成員變量可以被類中的方法和特定類的語句訪問。
- 類變量:類變量也聲明在類中,方法之外。但必須聲明爲static類型。
三,對象
對象是類的一個實例,創建對象的過程也叫類的實例化;對象是以類爲模板來創建的;在Java中,使用關鍵字new來創建一個新的對象。創建對象需要以下三步:
- 聲明:聲明一個對象,需要聲明對象名稱和對象類型。
- 實例化:使用new關鍵字創建對象。
- 初始化:使用new創建對象時,會調用構造方法初始化對象。
例子:
public class Dog{
public String name;
public Dog(String name){
System.out.println("狗的名字:"+name);
}
public static void main(String args[]){
Dog d = new Dog("Tom");
}
}
輸出結果:
小狗的名字:Tom
構造方法
在類實例化自動執行的方法叫構造函數,它不需要你手動調用,也不能顯示調用,構造方法可以在類實例化的過程中做一些初始化的工作;
構造方法的名稱必須與類的名稱相同,並且沒有返回值,構造方法一般都是 public 訪問權限,不過某些特殊的類除外;
每個類都有構造方法,如果沒有顯式地爲類定義構造方法,Java 編譯器將會爲該類提供一個默認的構造方法(無參構造函數)。
創建了對象後就可以通過以創建的對象來訪問成員變量和成員方法。
public class Dog{
public int age;
public Dog(String name){
System.out.println("小狗的名字:"+name);
}
public void eat(int age){
System.out.println(age+"歲的小狗"+"在吃骨頭");
}
public static void main(String args[]){
Dog d = new Dog("Tom");
d.age = 2;
d.eat(2);
}
}
輸出結果:
小狗的名字:Tom
2歲的小狗在吃骨頭
static關鍵字
static叫靜態修飾符,在java程序中,所以東西都是對象,對象的抽象是類,對一個類而言,要使用它的成員,普通情況下必須先實例化對象,通過對象的引用才能訪問這些成員,但是用static修飾的成員可以通過類名+"."直接進行訪問。
tatic修飾的成員變量和成員方法習慣上稱爲靜態變量和靜態方法,可以直接通過類名來訪問,訪問語法爲:
類名.靜態方法名(參數列表…)
類名.靜態變量名