【七】Java面向对象
文章目錄
- 1. 什么是對(duì)象
- 2. 類(lèi)和對(duì)象
- 3. 屬性和方法
- 4. 類(lèi)和對(duì)象的關(guān)系
- 5. 創(chuàng)建類(lèi)并實(shí)例化對(duì)象
- 6. 單一職責(zé)原則
- 7. 對(duì)象實(shí)例化
- 8. 構(gòu)造方法
- 9. this關(guān)鍵字
1. 什么是對(duì)象
萬(wàn)物皆對(duì)象、客觀存在的事物
對(duì)象:用來(lái)描述客觀事物的一個(gè)實(shí)體,由一組屬性和方法構(gòu)成
2. 類(lèi)和對(duì)象
- 類(lèi)是模子,確定對(duì)象將會(huì)擁有的特征(屬性)和行為(方法)
- 對(duì)象是類(lèi)的表現(xiàn)
- 類(lèi)是對(duì)象的類(lèi)型
- 對(duì)象是特定類(lèi)型的數(shù)據(jù)
類(lèi)的特點(diǎn):
- 類(lèi)是對(duì)象的類(lèi)型
- 具有相同屬性和方法的一組對(duì)象的集合
3. 屬性和方法
屬性:對(duì)象具有的各種靜態(tài)特征(“有什么”)
方法:對(duì)象具有的各種動(dòng)態(tài)行為(“能做什么”)
4. 類(lèi)和對(duì)象的關(guān)系
- 類(lèi)是抽象的概念,僅僅是模板
- 對(duì)象是一個(gè)你能夠看得到、摸得著的具體實(shí)體
- 類(lèi)是對(duì)象的類(lèi)型
- 對(duì)象是特定類(lèi)型的數(shù)據(jù)
具體開(kāi)發(fā)過(guò)程中,先定義類(lèi)再實(shí)例化對(duì)象:
5. 創(chuàng)建類(lèi)并實(shí)例化對(duì)象
// 定義Cat類(lèi) public class Cat{// 成員屬性:昵稱(chēng)、年齡、體重、品種String name; // 默認(rèn)nullint month; // 默認(rèn)0double weight; // 默認(rèn)0.0String species;// 成員方法:跑步、吃東西public void run(){System.out.println("小貓快跑")}public void eat(){System.out.println("小貓吃魚(yú)")} }public class CatTest{public static void main(String[] args){// 實(shí)例化對(duì)象Cat one = new Cat();one.run();one.eat();} }6. 單一職責(zé)原則
單一職責(zé)原則,也稱(chēng)為單一功能原則,英文Single Responsibility Principle 縮寫(xiě)SRP,是面向?qū)ο笤O(shè)計(jì)中的一個(gè)重要原則。一個(gè)類(lèi),應(yīng)該有且只有一個(gè)引起變化的原因。
在程序設(shè)計(jì)中,盡量把不同的職責(zé),放在不同的職責(zé)中,即把 不同的變化原因,封裝到不同的類(lèi)中。
7. 對(duì)象實(shí)例化
實(shí)例化對(duì)象的過(guò)程可以分為兩部分:
- 聲明對(duì)象 Cat one
- 實(shí)例化對(duì)象 new Cat();
實(shí)例化后的對(duì)象才可以使用。
當(dāng)聲明Cat one時(shí)是在棧空間開(kāi)辟了一個(gè)區(qū)域,實(shí)例化的對(duì)象是存儲(chǔ)在堆中的:
基本數(shù)據(jù)類(lèi)型的值會(huì)直接保存在棧空間,引用類(lèi)型的在棧中只會(huì)保存一個(gè)地址,這個(gè)地址會(huì)指向堆內(nèi)存保存對(duì)象:
每次new對(duì)象會(huì)產(chǎn)生新的實(shí)例化對(duì)象:
多個(gè)對(duì)象可以指向同一塊實(shí)例化空間,這樣修改其中一個(gè)對(duì)象的屬性也會(huì)修改另一個(gè)對(duì)象的屬性。
Cat one = new Cat(); Cat two = one;對(duì)象必須被實(shí)例化之后才能使用
對(duì)象間的引用傳遞,實(shí)際上傳遞的是堆內(nèi)存空間的使用權(quán)
8. 構(gòu)造方法
1、構(gòu)造方法與類(lèi)同名且沒(méi)有返回值
2、構(gòu)造方法的語(yǔ)句格式
3、只能在對(duì)象實(shí)例化的時(shí)候調(diào)用
4、當(dāng)沒(méi)有指定構(gòu)造方法時(shí),系統(tǒng)會(huì)自動(dòng)添加無(wú)參的構(gòu)造方法
5、當(dāng)有指定構(gòu)造方法,無(wú)論是有參、無(wú)參的構(gòu)造方法,都不會(huì)自動(dòng)添加無(wú)參的構(gòu)造方法
6、一個(gè)類(lèi)中可以有多個(gè)構(gòu)造方法
9. this關(guān)鍵字
this:當(dāng)前對(duì)象的默認(rèn)引用
this的使用:
- 調(diào)用成員變量,解決成員屬性和局部變量同名沖突
- 調(diào)用成員方法
- 調(diào)用重載的構(gòu)造方法
總結(jié)
以上是生活随笔為你收集整理的【七】Java面向对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Vue第二部分(1):组件基础学习
- 下一篇: 【五】Java数组