標籤:傳回值 硬碟 getter 資源 刪除 如何使用 定義 許可權 nal
軟體出現的目的:
*用電腦的語言來描述世界
*用電腦解決現實世界的問題
物件導向的思想 描述 物件導向的世界
物件導向設計和開發程式的好處:
*交流更加流暢
*提高設計和開發效率
構造方法:
構造方法是用來描述對象建立的過程,構造方法在對象建立的過程中被調用
文法:
存取修飾詞 構造方法名(){
//初始化代碼
}
注意:構造方法名必須和類名相同;沒有傳回值;
方法重載:
*方法名相同
*參數項不同
*與傳回值和存取修飾詞無關
this關鍵字用法:
調用屬性:
this.屬性名稱=100;
調用方法:
this.方法名();
調用構造方法:
this();
this(參數);
如何使用:必須是構造方法中的一條語句
物件導向的三大特徵之一—封裝
封裝的概念:
封裝:將類的某些資訊隱藏在類內部,不允許外部程式直接存取,而是通過該類提供的方法來實現對隱藏資訊
的操作和訪問;
封裝的好處:
*隱藏類的實現細節
*只能通過規定方法訪問資料
*方便加入控制語句
*方便修改實現
封裝的步驟:
1.修改屬性的可見度
2.建立getter和setter方法
3.在getter\setter方法中加入屬性控制語句
static修飾符:
static的資源屬於類層級的資源,靜態資源,對於類的所有執行個體對象共用
static關鍵字可以用來修飾屬性,方法,代碼塊和內部類
static修飾符的資源,在類載入期間執行
1、static修飾的屬性:
static關鍵字修飾的屬性,屬於對類所有執行個體對象共用的變數
訪問靜態屬性:類名.屬性名稱
2、static修飾方法:
static關鍵字修飾的方法,屬於靜態方法,可以直接類名.方法名()進行調用.一般
的是靜態方法作為工具方法
靜態方法中不能調用對象的資源(對象的屬性和方法)
3、static修飾的代碼塊
在類載入的時候執行,因為類只載入一次,所以static的代碼塊也只運行一次,
一般是使用static代碼塊來載入一些靜態資源,比如說設定檔;
{
這裡就是代碼塊,和構造方法一樣,在對象建立時候執行
}
static{
這裡就是靜態代碼塊
}
Static和非Static的區別
1.屬性
2.方法
3.調用方法
4.歸屬
static全部屬於類
非static屬於執行個體和對象
繼承:
一、繼承的前提條件:
子類和父類之間,必須要滿足子類is a父類的邏輯關係,才能繼承
二、繼承的優點
1.提高代碼之間的重用性,(繼承之後子類共用父類的代碼)
2.提高了代碼後期的可維護性(後期代碼中需要添加或刪除某些代碼,只需修改父類代碼即可)
三、繼承的步驟:
1.將多個類中共有的屬性和方法提取出來,建立一個父類
2.在子類後面使用extends關鍵字完成繼承, 子類 extends 父類
3.在子類中可以調用父類的代碼
注意:在java中屬於單繼承,在extends關鍵字後面只能有一個父類
子類訪問父類成員:
訪問父類構造方法:
super();
super(參數);
訪問父類屬性:
super.屬性名稱;
訪問父類方法:
super.方法名();
注意:this和super都必須出現在第一行,他們之間是互斥的
子類不能繼承父類的那些資源:
1.private成員
2.子類與父類不在同包,使用預設存取權限的成員
3.構造方法
存取修飾詞:
1.private 私人的
2.預設的(friendly) 預設
3.protected 受保護的
4.public 公用的
多重繼承關係的初始化順序是怎樣的:
1.父類屬性
2.父類構造方法
3.子類屬性
4.子類構造方法
對象初始化過程:
第一步:在建立類之前,檢查類是否已載入(檢查硬碟上的.class的檔案是否載入到記憶體中)
如果沒有載入就先載入父類的檔案,再載入本類的檔案
java使用的策略稱為:懶惰式載入(按需載入)用到的時候載入,只載入一次。
第二部:指派至空間,遞迴分配所有父類的屬性空間,
屬性會自動的初始化為"0"值;
第三步:屬性賦值
第四步:調用父類的構造方法(預設調用父類的無參構造方法)
第五步:調用本類的構造方法
方法重寫:
*方法名相同
*參數列表相同
*傳回型別相同或是其子類
*子類存取權限大於或等於父類
super關鍵字訪問父類的成員:
super只能出現在子類的方法和構造方法中
super調用構造方法時,只能是第一句
super不能訪問父類的private成員
abstract關鍵字:
abstract是抽象的意思,可以修飾類和方法,修飾類我們稱之為抽象類別,修飾方法我們稱之為抽象方法
1.abstract 修飾類,抽象類別
public abstract class 類名(){}
抽象類別用來表示一些抽象的概念
抽象類別特點:
*抽象類別不能被執行個體化
*抽象類別可以有屬性、方法、構造方法,都是用來給子類繼承
*抽象類別中不一定都是抽象方法。
2.abstract 修飾方法,抽象方法
存取修飾詞 abstract 傳回值類型 方法名(參數列表);
抽象方法不需要自己實現,由子類來實現
抽象方法特點:
*抽象方法沒有方法體
*抽象方法必須出現在抽象類別中
*一個類繼承抽象類別之後必須要實現父類所有的抽象方法
3.抽象類別可以繼承抽象類別
final關鍵字,表示最終的
1.final可以用來修飾類、方法和屬性。
2.final修飾的類的不能再被繼承。比如:String String是final修飾的類,不能被繼承
3.final修飾的方法,不能再被子類重寫
4.final修飾的變數初始化以後不能再發生改變
常量規範定義:public static final int ace=12;
final修飾的引用資料類型,引用地址不能發生改變,但是只限定第一層,參考型別的屬性值是可以改變的
多態:
生活中:
同一種事物,由於條件不同,產生的結果不同。
程式中:
同一種參考型別,使用不同的執行個體而執行不同的操
實現多態的兩個要素:
1.子類重寫父類方法
2.使用父類的類型
子類到父類的轉換(向上轉型):
Pet pet=new Dog();
實現多態的兩種形式:
*使用父類作為方法形參實現多態
*使用父類作為方法傳回值實現多態
父類到子類的轉換(向下轉型)
強制類型轉換
前提是:已經向上轉型
稱為:還原行為
文法:
子類名 子類自命名=(子類名) 父類名;
Dog dog = (Dog) pet;
instanceof運算子:
判斷對象是否是屬於類和介面,返回boolean類型
對象 instanceof 類或介面軟體出現的目的:
*用電腦的語言來描述世界
*用電腦解決現實世界的問題
物件導向的思想 描述 物件導向的世界
物件導向設計和開發程式的好處:
*交流更加流暢
*提高射擊和開發效率
構造方法:
構造方法是用來描述對象建立的過程,構造方法在對象建立的過程中被調用
文法:
存取修飾詞 構造方法名(){
//初始化代碼
}
注意:構造方法名必須和類名相同;沒有傳回值;
方法重載:
*方法名相同
*參數項不同
*與傳回值和存取修飾詞無關
this關鍵字用法:
調用屬性:
this.屬性名稱=100;
調用方法:
this.方法名();
調用構造方法:
this();
this(參數);
如何使用:必須是構造方法中的一條語句
物件導向的三大特徵之一—封裝
封裝的概念:
封裝:將類的某些資訊隱藏在類內部,不允許外部程式直接存取,而是通過該類提供的方法來實現對隱藏資訊
的操作和訪問;
封裝的好處:
*隱藏類的實現細節
*只能通過規定方法訪問資料
*方便加入控制語句
*方便修改實現
封裝的步驟:
1.修改屬性的可見度
2.建立getter和setter方法
3.在getter\setter方法中加入屬性控制語句
static修飾符:
static的資源屬於類層級的資源,靜態資源,對於類的所有執行個體對象共用
static關鍵字可以用來修飾屬性,方法,代碼塊和內部類
static修飾符的資源,在類載入期間執行
1、static修飾的屬性:
static關鍵字修飾的屬性,屬於對類所有執行個體對象共用的變數
訪問靜態屬性:類名.屬性名稱
2、static修飾方法:
static關鍵字修飾的方法,屬於靜態方法,可以直接類名.方法名()進行調用.一般
的是靜態方法作為工具方法
靜態方法中不能調用對象的資源(對象的屬性和方法)
3、static修飾的代碼塊
在類載入的時候執行,因為類只載入一次,所以static的代碼塊也只運行一次,
一般是使用static代碼塊來載入一些靜態資源,比如說設定檔;
{
這裡就是代碼塊,和構造方法一樣,在對象建立時候執行
}
static{
這裡就是靜態代碼塊
}
Static和非Static的區別
1.屬性
2.方法
3.調用方法
4.歸屬
static全部屬於類
非static屬於執行個體和對象
繼承:
一、繼承的前提條件:
子類和父類之間,必須要滿足子類is a父類的邏輯關係,才能繼承
二、繼承的優點
1.提高代碼之間的重用性,(繼承之後子類共用父類的代碼)
2.提高了代碼後期的可維護性(後期代碼中需要添加或刪除某些代碼,只需修改父類代碼即可)
三、繼承的步驟:
1.將多個類中共有的屬性和方法提取出來,建立一個父類
2.在子類後面使用extends關鍵字完成繼承, 子類 extends 父類
3.在子類中可以調用父類的代碼
注意:在java中屬於單繼承,在extends關鍵字後面只能有一個父類
子類訪問父類成員:
訪問父類構造方法:
super();
super(參數);
訪問父類屬性:
super.屬性名稱;
訪問父類方法:
super.方法名();
注意:this和super都必須出現在第一行,他們之間是互斥的
子類不能繼承父類的那些資源:
1.private成員
2.子類與父類不在同包,使用預設存取權限的成員
3.構造方法
存取修飾詞:
1.private 私人的
2.預設的(friendly) 預設
3.protected 受保護的
4.public 公用的
多重繼承關係的初始化順序是怎樣的:
1.父類屬性
2.父類構造方法
3.子類屬性
4.子類構造方法
對象初始化過程:
第一步:在建立類之前,檢查類是否已載入(檢查硬碟上的.class的檔案是否載入到記憶體中)
如果沒有載入就先載入父類的檔案,再載入本類的檔案
java使用的策略稱為:懶惰式載入(按需載入)用到的時候載入,只載入一次。
第二部:指派至空間,遞迴分配所有父類的屬性空間,
屬性會自動的初始化為"0"值;
第三步:屬性賦值
第四步:調用父類的構造方法(預設調用父類的無參構造方法)
第五步:調用本類的構造方法
方法重寫:
*方法名相同
*參數列表相同
*傳回型別相同或是其子類
*子類存取權限大於或等於父類
super關鍵字訪問父類的成員:
super只能出現在子類的方法和構造方法中
super調用構造方法時,只能是第一句
super不能訪問父類的private成員
abstract關鍵字:
abstract是抽象的意思,可以修飾類和方法,修飾類我們稱之為抽象類別,修飾方法我們稱之為抽象方法
1.abstract 修飾類,抽象類別
public abstract class 類名(){}
抽象類別用來表示一些抽象的概念
抽象類別特點:
*抽象類別不能被執行個體化
*抽象類別可以有屬性、方法、構造方法,都是用來給子類繼承
*抽象類別中不一定都是抽象方法。
2.abstract 修飾方法,抽象方法
存取修飾詞 abstract 傳回值類型 方法名(參數列表);
抽象方法不需要自己實現,由子類來實現
抽象方法特點:
*抽象方法沒有方法體
*抽象方法必須出現在抽象類別中
*一個類繼承抽象類別之後必須要實現父類所有的抽象方法
3.抽象類別可以繼承抽象類別
final關鍵字,表示最終的
1.final可以用來修飾類、方法和屬性。
2.final修飾的類的不能再被繼承。比如:String String是final修飾的類,不能被繼承
3.final修飾的方法,不能再被子類重寫
4.final修飾的變數初始化以後不能再發生改變
常量規範定義:public static final int ace=12;
final修飾的引用資料類型,引用地址不能發生改變,但是只限定第一層,參考型別的屬性值是可以改變的
多態:
生活中:
同一種事物,由於條件不同,產生的結果不同。
程式中:
同一種參考型別,使用不同的執行個體而執行不同的操
實現多態的兩個要素:
1.子類重寫父類方法
2.使用父類的類型
子類到父類的轉換(向上轉型):
Pet pet=new Dog();
實現多態的兩種形式:
*使用父類作為方法形參實現多態
*使用父類作為方法傳回值實現多態
父類到子類的轉換(向下轉型)
強制類型轉換
前提是:已經向上轉型
稱為:還原行為
文法:
子類名 子類自命名=(子類名) 父類名;
Dog dog = (Dog) pet;
instanceof運算子:
判斷對象是否是屬於類和介面,返回boolean類型
對象 instanceof 類或介面
軟體出現的目的:*用電腦的語言來描述世界*用電腦解決現實世界的問題
物件導向的思想 描述 物件導向的世界
物件導向設計和開發程式的好處:*交流更加流暢*提高射擊和開發效率
構造方法:構造方法是用來描述對象建立的過程,構造方法在對象建立的過程中被調用
文法: 存取修飾詞 構造方法名(){ //初始化代碼}注意:構造方法名必須和類名相同;沒有傳回值;
方法重載:*方法名相同*參數項不同*與傳回值和存取修飾詞無關
this關鍵字用法:
調用屬性:this.屬性名稱=100;
調用方法: this.方法名();
調用構造方法:this();this(參數);如何使用:必須是構造方法中的一條語句
物件導向的三大特徵之一—封裝 封裝的概念: 封裝:將類的某些資訊隱藏在類內部,不允許外部程式直接存取,而是通過該類提供的方法來實現對隱藏資訊的操作和訪問;
封裝的好處: *隱藏類的實現細節 *只能通過規定方法訪問資料 *方便加入控制語句 *方便修改實現
封裝的步驟: 1.修改屬性的可見度 2.建立getter和setter方法 3.在getter\setter方法中加入屬性控制語句
static修飾符:static的資源屬於類層級的資源,靜態資源,對於類的所有執行個體對象共用static關鍵字可以用來修飾屬性,方法,代碼塊和內部類static修飾符的資源,在類載入期間執行
1、static修飾的屬性: static關鍵字修飾的屬性,屬於對類所有執行個體對象共用的變數訪問靜態屬性:類名.屬性名稱
2、static修飾方法:static關鍵字修飾的方法,屬於靜態方法,可以直接類名.方法名()進行調用.一般的是靜態方法作為工具方法靜態方法中不能調用對象的資源(對象的屬性和方法)
3、static修飾的代碼塊在類載入的時候執行,因為類只載入一次,所以static的代碼塊也只運行一次,一般是使用static代碼塊來載入一些靜態資源,比如說設定檔;{這裡就是代碼塊,和構造方法一樣,在對象建立時候執行} static{這裡就是靜態代碼塊}
Static和非Static的區別1.屬性2.方法3.調用方法4.歸屬static全部屬於類非static屬於執行個體和對象
繼承:一、繼承的前提條件:子類和父類之間,必須要滿足子類is a父類的邏輯關係,才能繼承
二、繼承的優點1.提高代碼之間的重用性,(繼承之後子類共用父類的代碼) 2.提高了代碼後期的可維護性(後期代碼中需要添加或刪除某些代碼,只需修改父類代碼即可)
三、繼承的步驟:1.將多個類中共有的屬性和方法提取出來,建立一個父類2.在子類後面使用extends關鍵字完成繼承, 子類 extends 父類3.在子類中可以調用父類的代碼注意:在java中屬於單繼承,在extends關鍵字後面只能有一個父類
子類訪問父類成員:
訪問父類構造方法:super();super(參數);
訪問父類屬性:super.屬性名稱;
訪問父類方法:super.方法名();
注意:this和super都必須出現在第一行,他們之間是互斥的
子類不能繼承父類的那些資源:1.private成員2.子類與父類不在同包,使用預設存取權限的成員3.構造方法
存取修飾詞:1.private 私人的2.預設的(friendly) 預設3.protected 受保護的4.public 公用的
多重繼承關係的初始化順序是怎樣的:1.父類屬性2.父類構造方法3.子類屬性4.子類構造方法
對象初始化過程:第一步:在建立類之前,檢查類是否已載入(檢查硬碟上的.class的檔案是否載入到記憶體中)如果沒有載入就先載入父類的檔案,再載入本類的檔案java使用的策略稱為:懶惰式載入(按需載入)用到的時候載入,只載入一次。第二部:指派至空間,遞迴分配所有父類的屬性空間,屬性會自動的初始化為"0"值;第三步:屬性賦值第四步:調用父類的構造方法(預設調用父類的無參構造方法)第五步:調用本類的構造方法
方法重寫:*方法名相同*參數列表相同*傳回型別相同或是其子類*子類存取權限大於或等於父類
super關鍵字訪問父類的成員:super只能出現在子類的方法和構造方法中super調用構造方法時,只能是第一句super不能訪問父類的private成員
abstract關鍵字:abstract是抽象的意思,可以修飾類和方法,修飾類我們稱之為抽象類別,修飾方法我們稱之為抽象方法1.abstract 修飾類,抽象類別 public abstract class 類名(){} 抽象類別用來表示一些抽象的概念
抽象類別特點: *抽象類別不能被執行個體化 *抽象類別可以有屬性、方法、構造方法,都是用來給子類繼承 *抽象類別中不一定都是抽象方法。
2.abstract 修飾方法,抽象方法 存取修飾詞 abstract 傳回值類型 方法名(參數列表); 抽象方法不需要自己實現,由子類來實現 抽象方法特點: *抽象方法沒有方法體 *抽象方法必須出現在抽象類別中 *一個類繼承抽象類別之後必須要實現父類所有的抽象方法
3.抽象類別可以繼承抽象類別
final關鍵字,表示最終的1.final可以用來修飾類、方法和屬性。2.final修飾的類的不能再被繼承。比如:String String是final修飾的類,不能被繼承
3.final修飾的方法,不能再被子類重寫
4.final修飾的變數初始化以後不能再發生改變常量規範定義:public static final int ace=12;final修飾的引用資料類型,引用地址不能發生改變,但是只限定第一層,參考型別的屬性值是可以改變的
多態:生活中:同一種事物,由於條件不同,產生的結果不同。
程式中:同一種參考型別,使用不同的執行個體而執行不同的操
實現多態的兩個要素:1.子類重寫父類方法2.使用父類的類型
子類到父類的轉換(向上轉型):Pet pet=new Dog();
實現多態的兩種形式:*使用父類作為方法形參實現多態*使用父類作為方法傳回值實現多態
父類到子類的轉換(向下轉型)強制類型轉換前提是:已經向上轉型稱為:還原行為文法:子類名 子類自命名=(子類名) 父類名;Dog dog = (Dog) pet;
instanceof運算子:判斷對象是否是屬於類和介面,返回boolean類型對象 instanceof 類或介面
java——面對對象