Java學習筆記 004 類和物件

2021-07-30 09:20:37 字數 1715 閱讀 9265

生產汽車的過程

設計圖:

屬性:方向盤,輪胎,框等

功能:載人,跑停,拐彎等

類--設計圖

物件--汽車

類(設計圖)

成員變數(屬性)

成員方法(功能)

注意:在乙個檔案中只能有乙個public類(這是這個類的建構函式)

1.設計圖紙(大象類,冰箱類)

2.定義類方法(大象進冰箱,冰箱自己開關門)

3.在main()方法中構造具體的大象物件和冰箱物件(xiaoming、xiaohong)

4.使用構造的物件呼叫在類定義的成員方法(冰箱開門,大象進冰箱,冰箱關門)

語法:class 類名

}定義方法的語法:

修飾符 返回值型別 方法名(引數列表)

public int method(int a,int b ) 

構造物件的語法格式:

類名 物件名 = new 類名();//括號裡面可以沒有引數,呼叫無參構造方法,有引數則呼叫有參構造方法

構造方法(當使用new來建立物件的時候就會首先執行的方法)

public 類名

物件使用成員方法的格式: 

物件名.成員方法()

物件使用成員變數的格式:

物件名.成員變數 

public class elephantdemo

}區域性變數和成員變數

1.定義在類中,方法外的變數叫成員變數

2.定義在方法中的叫區域性變數

3.成員變數在堆記憶體(heap)具有初始值,區域性變數在棧記憶體(stack)必須初始化

4.兩者同名時候就近使用變數(按順序最後乙個定義的)

5.區域性變數只能在當前方法中使用。成員變數隨著物件的建立而建立,隨著物件銷毀而銷毀。區域性變數隨著方法的建立而建立,隨著方法銷毀而銷毀。

類成員變數

存放位置:堆記憶體heap(有預設值)

初始化順序:在構造方法之前

構造方法

public 類名(){}

無參(若沒有有參方法的話,系統自動生成)

有參成員方法

修飾符 返回值型別(或者void) 方法名(引數列表){}

成員方法的過載(同名):

與引數的型別和個數相關

與引數名和返回值型別無關

匿名物件

new student().方法()

new student().成員變數名()

常把成員變數封裝起來,private,另建立get()set()方法來賦值取值確保成員變數範圍在規劃之內。或者使用帶參的構造方法配合this進行賦值。

關鍵字:   this.   作用this.變數名預設為成員變數(代表著呼叫此方法的那個物件)     this.  不能使用在static修飾的方法中

關鍵字:   static

靜態修飾符

使用方法:類名.(使用static修飾的物件)

靜態成員會先於物件產生,靜態成員是屬於類的,隨著類產生,隨著類銷毀。

(因此,建立的屬於類的物件會共享這個static變數,new第二個物件的時候第二個物件的static變數會覆蓋第乙個new所產生的statuc變數)

建立類的總體順序:

靜態成員變數--靜態**塊--非靜態成員變數--構造**塊--構造方法--成員方法

**塊:

區域性**塊生命週期僅在自己的**塊中

構造**塊在成員變數之後,構造方法之前執行

靜態**塊在只在類載入的時候執行一次

Java學習筆記 004 補充

抽象類 關鍵字 abstract 語法 public abstract class person 作用 抽象類只能被繼承,不能例項化。抽象方法 語法 public abstract void sleep 作用 子類必須重寫父類的抽象方法,乙個都不能少。如果實在不想寫實現方法,可以繼續用抽象類建立。但...

Java學習 物件和類

面向過程的結構化程式設計 結構化程式的弊端 1.缺乏對資料的封裝 2.資料和方法 對資料的操作 的分離。什麼是抽象資料型別 什麼是類 定義雇員類 public class emp 在此示例中,僅僅定義了emp型別的組成,即成員變數。該類定義了4個成員變數 string型別的name用於存放名字 in...

java類和物件

在物件導向的處理過程中,類既包括了資料也封裝了資料。類中有成員變數和成員函式,統稱為類的成員。1.類的宣告 class 繼承 2.成員變數的宣告 public class person 3.成員方法的宣告 public int gethurtpoint public void sethurtpoin...