系列文章目錄
Java面向對象 二-CSDN博客
Java面向對象 三-CSDN博客
目錄
系列文章目錄
前言
一、初步認識面向對象
1.類和對象的簡單理解
2.類的構成
二、類的實例化?
1.對象的創建
2.對象的初始化
三、this引用的作用
四、構造方法
1.構造方法的提供
2.對象的構造
3.構造方法的重載
4.this.()?調用構造方法
五、封裝
1. 面向對象的特征
2. 權限關鍵字?
3. 包的概念
4.封裝的概念和意義
六、static 成員
1. static 修飾成員變量
2. static 修飾成員方法
3. 靜態成員的特性及訪問方式
4.靜態成員變量的初始化
七、代碼塊
前言
java 是一門面向對象的編程語言,本文介紹?java 面向對象編程的基礎內容。
一、初步認識面向對象
1.類和對象的簡單理解
java 是一門面向對象的編程語言(Object Oriented Program,簡稱 OOP)。
對象的產生依賴于類,類可以理解為蓋房子用的圖紙,對象就是根據圖紙建出來的房子。
2.類的構成
類中包含屬性(成員變量/字段)和方法(成員方法);
成員屬性:定義在類內部,方法外部的變量;
成員方法:是寫在類里面的函數,用來表示對象的行為;
二、類的實例化?
1.對象的創建
可以通過 new 關鍵字創建對象,使用類創建對象的過程,就是類的實例化;
2.對象的初始化
可以通過引用訪問對象的屬性和方法:具體是指“對象名.屬性/方法名“的方式來訪問;
默認初始化:對象的屬性在沒有賦值的時候,引用類型的默認值是 null,簡單類型就是 0;
注意:局部變量必須初始化才能調用,對象屬性/成員變量不需要。
三、this引用的作用
this 引用指向當前對象(成員方法運行時,調用該成員方法的對象);
this 只能在成員方法中使用,通過 this 可以訪問對象的成員變量,但靜態的成員變量不支持。
this.() :用于調用當前類中的構造方法,只能在構造方法中使用,并且只能在第一行;
this.屬性:?用于訪問對象的屬性;
this.方法名: 用于訪問對象的方法;
四、構造方法
1.構造方法的提供
當一個類中沒有任何一個構造方法的時候,java 會自動提供一個沒有參數的構造方法;
當一個類中有構造方法,Java 就不會提供構造方法了。
2.對象的構造
完成一個對象的構造分兩步:1,給對象分配空間;2,調用合適的構造方法。
構造方法只負責對對象的成員進行初始化,不負責給對象開辟空間;
3.構造方法的重載
構造方法沒有返回值類型,方法名和類名必須相同,定義不同參數可以構成構造方法的重載;
重載:方法名相同,參數列表不同的多個方法構成方法的重載。
4.this.()?調用構造方法
this.() 可以調用當前類中的其它構造方法,只能在構造方法中使用,并且只能在第一行;
使用 this 調用類中的屬性和普通方法不需要放在第一行。
五、封裝
1. 面向對象的特征
面向對象的三大特征:封裝,繼承,多態;
2. 權限關鍵字?
private: 使用該關鍵字修飾的屬性或者方法,只能在同一包下的同一類中訪問;
default:default 不是權限關鍵字,什么關鍵字都不加就是 default 權限,同一包中的同一類或者不同類可以訪問,也叫做包訪問權限;
protected: 權限擴大到不同包中的子類可以訪問,訪問時需要用到 super 關鍵字;
public: 權限擴大到不同包中的非子類也可以訪問;
3. 包的概念
為了更好得管理類,把多個類收集在一起成為一組,稱為軟件包;
import:可以使用 import 關鍵字將包導入;
包名:通常使用公司的域名,類如 com.baidu.www
常見的包:
java.lang: 系統常用基礎類,由編譯器自動導入;
java.lang.reflect: java 反射變成包;
java.net: 網絡編程開發包;
java.sql:?數據庫開發支持包;
java.util: java 提供的工具程序包,包含?java 集合類,非常重要;
java.io: I/O 編程開發包;
4.封裝的概念和意義
封裝就是對類的成員進行隱藏,通過關鍵字 private, 只對類外提供公開的接口;
封裝的意義是可以隱藏類的實現細節,從而達到安全性;
六、static 成員
1. static 修飾成員變量
static 修飾成員變量:靜態成員變量,也叫做類變量,靜態變量存在于 java 虛擬機內存的方法區;
static 成員變量的生命周期:隨著類加載創建,隨著類卸載銷毀;
2. static 修飾成員方法
static 修飾成員方法:靜態成員方法,也叫做類方法;
3. 靜態成員的特性及訪問方式
靜態成員不屬于某個對象,是所有對象共享的;
訪問方式:通過 “類名.靜態成員名” 這種方式訪問;
4.靜態成員變量的初始化
就地初始化:定義的時候直接賦值,即就地初始化;
靜態代碼塊初始化:使用 static 修飾,靜態代碼塊位于類的里面,方法的外面,在代碼塊中初始化靜態成員變量;
七、代碼塊
實例代碼塊:處于類的里面,方法的外面,用于初始化成員屬性的代碼塊;
靜態代碼塊:用 static 關鍵字修飾的代碼塊,比實例代碼塊更先執行;
執行時機:類加載時,靜態代碼塊就會執行;創建對象時,實例代碼塊才會執行;
執行順序:靜態代碼塊,實例代碼塊,構造方法;