国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

面向?qū)ο蟮慕榻B和內(nèi)存

這篇具有很好參考價(jià)值的文章主要介紹了面向?qū)ο蟮慕榻B和內(nèi)存。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

學(xué)習(xí)面向?qū)ο髢?nèi)容的三條主線

? Java 類及類的成員:(重點(diǎn))屬性、方法、構(gòu)造器;(熟悉)代碼塊、內(nèi)部類
? 面向?qū)ο蟮奶卣?/code>:封裝、繼承、多態(tài)、(抽象)
? 其他關(guān)鍵字的使用:this、super、package、import、static、final、interface、
abstract 等

程序設(shè)計(jì)的思路

面向?qū)ο螅擒浖_發(fā)中的一類編程風(fēng)格、開發(fā)范式。除了面向?qū)ο?,還有面向
過程、指令式編程和函數(shù)式編程。在所有的編程范式中,我們接觸最多的還是面
向過程和面向?qū)ο髢煞N。

1. 面向?qū)ο缶幊谈攀?了解)

在學(xué)習(xí)面向?qū)ο笾?,我們可以先了解一下面向過程。
面向過程是一種編程思想,它強(qiáng)調(diào)的是過程,意思是我們做任何事,都需要親力親為。
面向?qū)ο笠彩且环N編程思想,相對于面向過程,我們的身份可以由原來問題的執(zhí)行者變?yōu)橹笓]者,進(jìn)而把生活中很多復(fù)雜的問題變得簡單化。

面向過程強(qiáng)調(diào)的是過程,比如,把大象裝冰箱,一共分3步:
第1步:打開冰箱門
第2步:把大象放進(jìn)去
第3步:關(guān)上冰箱門

而面向?qū)ο髲?qiáng)調(diào)的是結(jié)果,比如:
誰負(fù)責(zé)把大象裝進(jìn)去?
有沒有發(fā)現(xiàn),如果是面向?qū)ο蟮脑挘蛇@件事的主體并不是你自己,你變成了一個(gè)指揮者?

再比如,衣服臟了,我們可以讓女盆友幫忙洗,不需要關(guān)注中間過程是怎么洗的,就可以拿到干凈的衣服,當(dāng)然,這首先需要有一個(gè)對象(加油哦)~

還有,當(dāng)我們想吃一道菜,其實(shí)并不需考慮這道菜是怎么做的,怎么送達(dá)的,只需點(diǎn)菜即可.傳菜和做菜都有具體的對象來完成具體的功能.我們不需要關(guān)注實(shí)現(xiàn)的過程,只需要關(guān)注結(jié)果就好。

面向?qū)ο蟮慕榻B和內(nèi)存

這就是我們所說的面向?qū)ο蟮木幊趟枷耄∣OP,Object Oriented Programming)

2 面向?qū)ο蟮娜筇卣?/h4>

封裝: 把相關(guān)的數(shù)據(jù)封裝成一個(gè)“類”組件
繼承: 是子類自動(dòng)共享父類屬性和方法,這是類之間的一種關(guān)系
多態(tài): 增強(qiáng)軟件的靈活性和重用性

類的概述

面向?qū)ο蟪绦蛟O(shè)計(jì)的重點(diǎn)是類的設(shè)計(jì)
類是一類事物抽取屬性與功能形成的。

現(xiàn)實(shí)世界的生物體,大到鯨魚,小到螞蟻,都是由最基本的細(xì)胞構(gòu)成的。同理,Java 代碼
世界是由諸多個(gè)不同功能的類構(gòu)成的。

面向?qū)ο蟮慕榻B和內(nèi)存

Java 中用類 class 來描述事物也是如此。類,是一組相關(guān)屬性和行為的集合,這也是類最
基本的兩個(gè)成員。

屬性:該類事物的狀態(tài)信息。對應(yīng)類中的成員變量

行為:該類事物要做什么操作,或者基于事物的狀態(tài)能做什么。對應(yīng)類中的成員方法

3.2 對象

每個(gè)對象具有三個(gè)特點(diǎn):對象的屬性,對象的功能和對象的標(biāo)識。

對象的屬性用來描述對象的基本特征。
對象的功能用來描述對象的可以完成的操作。
對象的標(biāo)識是指每個(gè)對象在內(nèi)存中都有一個(gè)唯一的地址值用于與其他對象進(jìn)行區(qū)分,類似于我們的身份證號。

3.3 類和對象的關(guān)系

我們先創(chuàng)建類,再通過類創(chuàng)建出對象
我們可以通過一個(gè)類創(chuàng)建出多個(gè)對象
類是抽象的,對象是具體的

類就像設(shè)計(jì)圖紙,而對象就是具體的事物

面向?qū)ο蟮慕榻B和內(nèi)存

步驟 1:類的定義

類的定義使用關(guān)鍵字:class。格式如下:

[修飾符] class 類名{
   屬性聲明;
   方法聲明;
 }

步驟 2:對象的創(chuàng)建

創(chuàng)建對象,使用關(guān)鍵字:new
創(chuàng)建對象語法:
方式一:
類名 對象名 = new 類名();
方式 2:
new 類名() //也稱為匿名對象

3.4 練習(xí):類的創(chuàng)建使用

手機(jī)的屬性:顏色,尺寸,品牌,價(jià)格
手機(jī)的功能功能:打電話,發(fā)短信,聽音樂

package cn.tedu.oop;
/**本類用作面向?qū)ο笕腴T案例
 * 設(shè)計(jì)手機(jī)這一類事物:
 * 分析屬性:品牌 價(jià)格 尺寸 顏色
 * 分析功能:打電話 發(fā)短信 看直播*/
/**在一個(gè)java文件中可以寫多個(gè)class,但是,被public修飾的class只能有一個(gè)
 * 而且要求這個(gè)公共類的名字必須與文件的名字保持一致*/
public class TestCreateClass {
    public static void main(String[] args) {
        //help-findAction 或者 Alt+7
        //4.創(chuàng)建手機(jī)類的對象p1
        Phone p1 = new Phone();
        //5.通過手機(jī)類對象調(diào)用手機(jī)類的功能
        p1.call();
        p1.message();
        p1.video();
        //6.通過手機(jī)類對象打印查看屬性值
        System.out.println(p1.color);//null
        System.out.println(p1.price);//0.0
        System.out.println(p1.size);//0.0
        System.out.println(p1.brand);//null
    }
}

//1.通過class關(guān)鍵字創(chuàng)建手機(jī)類--用來描述手機(jī)這一類事物--屬性+功能
class Phone{
    //2.定義手機(jī)類的屬性--用成員變量來描述--位置:類里方法外
    String brand;//品牌
    double price;//價(jià)格
    double size;//尺寸
    String color;//顏色
    //3.定義手機(jī)類的功能--用方法來描述--格式:修飾符 返回值類型 方法名(參數(shù)列表){方法體}
    public void call(){
        System.out.println("正在打電話~");
    }
    public void message(){
        System.out.println("正在發(fā)短信!");
    }
    public void video(){
        System.out.println("正在看直播~");
    }
}

3.5 對象在內(nèi)存中的存儲

Java把內(nèi)存分成5大區(qū)域,我們重點(diǎn)關(guān)注棧和堆。

一般來講局部變量存在棧中,方法執(zhí)行完畢內(nèi)存就被釋放
對象(new出來的東西)存在堆中,對象不再被使用時(shí),內(nèi)存才會被釋放
每個(gè)堆內(nèi)存的元素都有地址值
對象中的屬性都是成員變量,是有默認(rèn)值的
TIPS: 棧與隊(duì)列指的是一種數(shù)據(jù)的結(jié)構(gòu)。
棧:先進(jìn)后出(FILO – First In Last Out)
隊(duì)列:先進(jìn)先出(FIFO – First In First Out)

面向?qū)ο蟮慕榻B和內(nèi)存
面向?qū)ο蟮慕榻B和內(nèi)存

對象的創(chuàng)建過程分析:

Phone p = new Phone(); 這句代碼,再內(nèi)存中會發(fā)生什么呢?
1.在棧內(nèi)存中開辟一塊空間,存放引用類型Phone類型的變量p
2.在堆內(nèi)存中開辟一塊空間,存放Phone類型的對象
3.要給這個(gè)對象進(jìn)行初始化,比如:String brand = null;
4.當(dāng)對象準(zhǔn)備好以后,會生成一個(gè)唯一的地址值,然后將此地址值交給引用類型的變量p來保存
5.如果以后想要操作此對象的各種資源,可以通過p變量保存的地址值找到該對象,比如:p.call(); p.price = 66.6;

面向?qū)ο蟮慕榻B和內(nèi)存
3.6 練習(xí)2:創(chuàng)建多個(gè)對象

package cn.tedu.oop;
/**本類用作面向?qū)ο笕腴T案例
 * 設(shè)計(jì)手機(jī)這一類事物:
 * 分析屬性:品牌 價(jià)格 尺寸 顏色
 * 分析功能:打電話 發(fā)短信 看直播*/
/**在一個(gè)java文件中可以寫多個(gè)class`,但是,被public修飾的class只能有一個(gè)
 * 而且要求這個(gè)公共類的名字必須與文件的名字保持一致*/
public class TestCreateClass {
    public static void main(String[] args) {
        //help-findAction 或者 Alt+7
        //4.創(chuàng)建手機(jī)類的對象p1
        Phone p1 = new Phone();
        //5.通過手機(jī)類對象調(diào)用手機(jī)類的功能
        p1.call();
        p1.message();
        p1.video();
        //6.通過手機(jī)類對象打印查看屬性值
        System.out.println(p1.color);//null
        System.out.println(p1.price);//0.0
        System.out.println(p1.size);//0.0
        System.out.println(p1.brand);//null

        //7.創(chuàng)建手機(jī)類的第2個(gè)對象p2
        Phone p2 = new Phone();
        //8.通過p2對象,調(diào)用Phone類的3個(gè)方法
        p2.call();
        p2.message();
        p2.video();
        //9.給p2對象的4個(gè)屬性賦值
        p2.brand = "HUAWEI";
        p2.color = "中國紅";
        p2.price = 6666.66;
        p2.size = 5.6;
        //10.打印查看p2對象的4個(gè)屬性值
        System.out.println(p2.brand);
        System.out.println(p2.price);
        System.out.println(p2.color);
        System.out.println(p2.size);

        //11.查看兩個(gè)對象的地址值
        System.out.println(p1);//cn.tedu.oop.Phone@1b6d3586
		System.out.println(p2);//cn.tedu.oop.Phone@4554617c
    }
}

//1.通過class關(guān)鍵字創(chuàng)建手機(jī)類--用來描述手機(jī)這一類事物--屬性+功能
class Phone{
    //2.定義手機(jī)類的屬性--用成員變量來描述--位置:類里方法外
    String brand;//品牌
    double price;//價(jià)格
    double size;//尺寸
    String color;//顏色
    //3.定義手機(jī)類的功能--用方法來描述--格式:修飾符 返回值類型 方法名(參數(shù)列表){方法體}
    public void call(){
        System.out.println("正在打電話~");
    }
    public void message(){
        System.out.println("正在發(fā)短信!");
    }
    public void video(){
        System.out.println("正在看直播~");
    }
}

面向?qū)ο蟮慕榻B和內(nèi)存文章來源地址http://www.zghlxwxcb.cn/news/detail-481797.html

到了這里,關(guān)于面向?qū)ο蟮慕榻B和內(nèi)存的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包