day06-Java面向?qū)ο笠唬ɑA(chǔ))

06.01_面向?qū)ο?面向?qū)ο笏枷敫攀?(了解)

  • A:面向過程思想概述

    • 第一步
    • 第二步
  • B:面向?qū)ο笏枷敫攀?/p>

    • 找對(duì)象(第一步,第二步)
  • D:面向?qū)ο笏枷胩攸c(diǎn)

    • a:是一種更符合我們思想習(xí)慣的思想
    • b:可以將復(fù)雜的事情簡(jiǎn)單化
    • c:將我們從執(zhí)行者變成了指揮者
      • 角色發(fā)生了轉(zhuǎn)換
  • E:面向?qū)ο箝_發(fā)

    • 就是不斷的創(chuàng)建對(duì)象,使用對(duì)象,指揮對(duì)象做事情。
  • F:面向?qū)ο笤O(shè)計(jì)

    • 其實(shí)就是在管理和維護(hù)對(duì)象之間的關(guān)系。
  • G:面向?qū)ο筇卣?/p>

    • 封裝(encapsulation)
    • 繼承(inheritance)
    • 多態(tài)(polymorphism)

06.02_面向?qū)ο?類與對(duì)象概述)(掌握)

  • A:我們學(xué)習(xí)編程是為了什么
    • 為了把我們?nèi)粘I钪袑?shí)物用學(xué)習(xí)語(yǔ)言描述出來(lái)
  • B:我們?nèi)绾蚊枋霈F(xiàn)實(shí)世界事物
    • 屬性 就是該事物的描述信息(事物身上的名詞)
    • 行為 就是該事物能夠做什么(事物身上的動(dòng)詞)
  • C:Java中最基本的單位是類,Java中用class描述事物也是如此
    • 成員變量 就是事物的屬性
    • 成員方法 就是事物的行為
  • D:定義類其實(shí)就是定義類的成員(成員變量和成員方法)
    • a:成員變量 和以前定義變量是一樣的,只不過位置發(fā)生了改變。在類中,方法外。
    • b:成員方法 和以前定義方法是一樣的,只不過把static去掉,后面在詳細(xì)講解static的作用。
  • E:類和對(duì)象的概念
    • a:類:是一組相關(guān)的屬性和行為的集合
    • b:對(duì)象:是該類事物的具體體現(xiàn)
class Student
{
    String name ;  //姓名
    int age ;      //年齡
    String gender; //性別
    
    public void study() {
        System.out.println("學(xué)習(xí)方法");
    }
    
    public void sleep() {
        System.out.println("睡覺方法");
    }
}

06.05_面向?qū)ο?學(xué)生類的使用)(掌握)

  • A:文件名問題
    • 在一個(gè)java文件中寫兩個(gè)類:一個(gè)基本的類,一個(gè)測(cè)試類。
    • 建議:文件名稱和測(cè)試類名稱一致。
  • B:如何使用對(duì)象?
    • 創(chuàng)建對(duì)象并使用
    • 格式:類名 對(duì)象名 = new 類名();
  • D:如何使用成員變量呢?
    • 對(duì)象名.變量名
  • E:如何使用成員方法呢?
    • 對(duì)象名.方法名(...)
Student s1 = new Student();
s1.name = "Houwa侯";
s1.study();
System.out.println(s1.name);

06.07_面向?qū)ο?一個(gè)對(duì)象的內(nèi)存圖)(掌握)

Paste_Image.png

06.08_面向?qū)ο?二個(gè)對(duì)象的內(nèi)存圖)(了解)

Paste_Image.png

06.09_面向?qū)ο?三個(gè)引用兩個(gè)對(duì)象的內(nèi)存圖)(了解)

  • A:畫圖演示
    • 三個(gè)引用,有兩個(gè)對(duì)象的引用指向同一個(gè)地址
      注意 棧、堆、方法區(qū)的區(qū)別

06.10_面向?qū)ο?成員變量和局部變量的區(qū)別)(掌握)

  • A:在類中的位置不同

    • 成員變量:在類中方法外
    • 局部變量:在方法定義中或者方法聲明上
  • B:在內(nèi)存中的位置不同

    • 成員變量:在堆內(nèi)存(成員變量屬于對(duì)象,對(duì)象進(jìn)堆內(nèi)存)
    • 局部變量:在棧內(nèi)存(局部變量屬于方法,方法進(jìn)棧內(nèi)存)
  • C:生命周期不同

    • 成員變量:隨著對(duì)象的創(chuàng)建而存在,隨著對(duì)象的消失而消失
    • 局部變量:隨著方法的調(diào)用而存在,隨著方法的調(diào)用完畢而消失
  • D:初始化值不同

    • 成員變量:有默認(rèn)初始化值
    • 局部變量:沒有默認(rèn)初始化值,必須定義,賦值,然后才能使用。
  • 注意事項(xiàng):

    • 局部變量名稱可以和成員變量名稱一樣,在方法中使用的時(shí)候,采用的是就近原則。
    • 基本數(shù)據(jù)類型變量包括哪些:byte,short,int,long,float,double,boolean,char
    • 引用數(shù)據(jù)類型變量包括哪些:數(shù)組,類,接口,枚舉

06.11_面向?qū)ο?方法的形式參數(shù)是類名的時(shí)候如何調(diào)用)(掌握)

  • A:方法的參數(shù)是類名public void print(Student s){}//print(new Student());
    • 如果你看到了一個(gè)方法的形式參數(shù)是一個(gè)類類型(引用類型),這里其實(shí)需要的是該類的對(duì)象。
public void change(Student s)
{
    // 引用類型 的參數(shù),會(huì)真實(shí)改變對(duì)象的值
    s.name = "XXOO";
}

06.12_面向?qū)ο?匿名對(duì)象的概述和應(yīng)用)(掌握)

  • A:什么是匿名對(duì)象
    • 沒有名字的對(duì)象
  • B:匿名對(duì)象應(yīng)用場(chǎng)景
    • a:調(diào)用方法,僅僅只調(diào)用一次的時(shí)候。
      • 那么,這種匿名調(diào)用有什么好處嗎?
        • 節(jié)省代碼
      • 注意:調(diào)用多次的時(shí)候,不適合。匿名對(duì)象調(diào)用完畢就是垃圾??梢员焕厥掌骰厥铡?/li>
    • b:匿名對(duì)象可以作為實(shí)際參數(shù)傳遞
// 創(chuàng)建有名字的對(duì)象
Student s1 = new Student();
s1.name = "Houwa侯";
s1.study();

// 匿名對(duì)象
new Student().study();
new Student().name = "XXOO" ;   //無(wú)意義的

06.13_面向?qū)ο?封裝的概述)(掌握)

  • A:封裝概述

    • 是指隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外提供公共訪問方式。
  • B:封裝好處

    • 隱藏實(shí)現(xiàn)細(xì)節(jié),提供公共的訪問方式
    • 提高了代碼的復(fù)用性
    • 提高安全性。
  • C:封裝原則

    • 將不需要對(duì)外提供的內(nèi)容都隱藏起來(lái)。
    • 把屬性隱藏,提供公共方法對(duì)其訪問。

06.14_面向?qū)ο?private關(guān)鍵字的概述和特點(diǎn))(掌握)

  • A:人類賦值年齡的問題
  • B:private關(guān)鍵字特點(diǎn)
    • a:是一個(gè)權(quán)限修飾符
    • b:可以修飾成員變量和成員方法
    • c:被其修飾的成員只能在本類中被訪問
  • C:案例演示
    • 封裝和private的應(yīng)用:
    • A:把成員變量用private修飾
    • B:提供對(duì)應(yīng)的getXxx()和setXxx()方法
    • private僅僅是封裝的一種體現(xiàn)形式,不能說封裝就是私有

06.15_面向?qū)ο?this關(guān)鍵字的概述和應(yīng)用)(掌握)

  • A:this關(guān)鍵字特點(diǎn)
    • 代表當(dāng)前對(duì)象的引用
class Student
{
    int age ;      //年齡
    
    public void sleep(int age) {  //變量的使用是--就近原則
        System.out.println(age);   //局部變量
        System.out.println(this.age);   //成員變量
    }
    
    public void setAge(int age) {
        this.age = age;  //這里不加this就是局部變量,沒意義了
    }
}

END。
我是小侯爺。
在魔都艱苦奮斗,白天是上班族,晚上是知識(shí)服務(wù)工作者。
如果讀完覺得有收獲的話,記得關(guān)注和點(diǎn)贊哦。
非要打賞的話,我也是不會(huì)拒絕的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 12,425評(píng)論 6 13
  • Win7下如何打開DOS控制臺(tái)? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,710評(píng)論 4 12
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 34,728評(píng)論 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的開發(fā)和運(yùn)行環(huán)境,java的開發(fā)工...
    ZaneInTheSun閱讀 2,813評(píng)論 0 11
  • 這篇文章呢是我看了李尚龍寫的《你只是看起來(lái)很努力》以后寫的,他里面有很多我認(rèn)同的和不認(rèn)同的,還有些是我自己的一點(diǎn)小...
    慕子蓁閱讀 681評(píng)論 4 4

友情鏈接更多精彩內(nèi)容