成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

什么是java的面向?qū)ο?創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)什么是java的面向?qū)ο螅恼聝?nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

十年的嵐皋網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷(xiāo)型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整嵐皋建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“嵐皋網(wǎng)站設(shè)計(jì)”,“嵐皋網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

1、什么叫面向?qū)ο螅?/strong>

面向?qū)ο?Object-Oriented,簡(jiǎn)稱(chēng)OO)就是一種常見(jiàn)的程序結(jié)構(gòu)設(shè)計(jì)方法。
面向?qū)ο笏枷氲幕A(chǔ)是將相關(guān)的數(shù)據(jù)和方法放在一起,組合成一種新的復(fù)合數(shù)據(jù)類(lèi)型,然后使用新創(chuàng)建的復(fù)合數(shù)據(jù)類(lèi)型作為項(xiàng)目的基礎(chǔ)。

面向?qū)ο笫且粋€(gè)很抽象的概念,它相對(duì)面向過(guò)程而言。

過(guò)程與對(duì)象都是一種解決問(wèn)題的思想。

面向過(guò)程:強(qiáng)調(diào)的是功能行為,一種過(guò)程,先干啥,再干啥;

面向?qū)ο螅簩⒐δ芊庋b到對(duì)象里,強(qiáng)調(diào)的是具備某功能的對(duì)象;

按照面向?qū)ο蟮乃枷?,可以把任何的東西看做對(duì)象!

面向?qū)ο蟮娜齻€(gè)特征:

封裝(Encapsulation);

繼承(Inheritance);

多態(tài)(Polymorphism)。

我的總結(jié):

面向過(guò)程:強(qiáng)調(diào)的是具體的功能實(shí)現(xiàn);(執(zhí)行者)

面向?qū)ο螅簭?qiáng)調(diào)的是具備功能的對(duì)象。(管理者)

2、類(lèi)

類(lèi)(class)是Java 語(yǔ)言的最小編程單位,也是設(shè)計(jì)和實(shí)現(xiàn)Java 程序的基礎(chǔ),本部分將深入介紹類(lèi)的相關(guān)知識(shí)。
類(lèi)的概念
類(lèi)是一組事物共有特征和功能的描述。類(lèi)是對(duì)于一組事物的總體描述,是按照面向?qū)ο蠹夹g(shù)進(jìn)行設(shè)計(jì)時(shí)最小的單位,也是組成項(xiàng)目的最基本的模塊。類(lèi)的概念是抽象的,類(lèi)似于建筑設(shè)計(jì)中的圖紙,是對(duì)于現(xiàn)實(shí)需要代表的具體內(nèi)容的抽象。類(lèi)只包含框架結(jié)構(gòu),而不包含具體的數(shù)據(jù)。所以類(lèi)代表的是總體,而不代表某個(gè)特定的個(gè)體。

我的總結(jié):類(lèi)是抽象的,對(duì)象是具體的,實(shí)實(shí)在在的!

類(lèi)的定義:

[修飾符] class  類(lèi)名{

1~n個(gè)構(gòu)造方法;

0~n個(gè)字段;

0~n個(gè)方法

}

定義類(lèi),其實(shí)就是定義類(lèi)里面的對(duì)象

對(duì)象包含:

狀態(tài);(屬性)

功能、行為;(方法)

通過(guò)類(lèi)來(lái)描述對(duì)象;

狀態(tài)--------成員變量;

功能、行為——方法;

Eg

class Person{
//屬性
   private String name;
   private int age;
   private int sal;
   //方法
   public void show(){
      System.out.println("個(gè)人情況:"+name+age+sal);
   }
}

3、構(gòu)造方法

構(gòu)造方法:用來(lái)構(gòu)造類(lèi)的實(shí)例(每一個(gè)類(lèi)都默認(rèn)有一個(gè)無(wú)參的構(gòu)造方法,得使用new調(diào)用)

字段:類(lèi)或?qū)ο笏臄?shù)據(jù),對(duì)類(lèi)狀態(tài)的一種描述;

方法:類(lèi)或?qū)ο蟮奶卣骰蛐袨?/p>

作用:

給類(lèi)中的字段進(jìn)行初始化,可以用來(lái)創(chuàng)建對(duì)象。

特點(diǎn):

方法名與類(lèi)名相同

不用定義返回值類(lèi)型

不需要寫(xiě)return語(yǔ)句

注意

默認(rèn)構(gòu)造方法的特點(diǎn)。

多個(gè)構(gòu)造方法是以重載的形式存在的。

構(gòu)造方法的重載:(需要哪個(gè)就去適配哪個(gè),調(diào)用哪個(gè))

this([實(shí)參]);調(diào)用當(dāng)前類(lèi)的構(gòu)造方法

注意: this([實(shí)參]);必須放在構(gòu)造器的第一行;

對(duì)象的產(chǎn)生格式

類(lèi)名稱(chēng)  對(duì)象名 = new  類(lèi)名稱(chēng)();

因?yàn)橛?),所以是方法,實(shí)際上它就是構(gòu)造方法,并且是非私有的構(gòu)造方法。

如:

CellPhone cp = new CellPhone();
Eg:
 
class Person{
 
   private String name;
 
   private int age;
 
   private int sal;
 
   public void show(){
 
      System.out.println("個(gè)人情況:"+name+age+sal);
 
   }
 
 
 
   public Person(String name) {
 
      super();
 
      this.name = name;
 
   }
 
 
 
   public Person(String name, int age) {
 
      super();
 
      this.name = name;
 
      this.age = age;
 
   }
 
 
 
   public Person(String name, int age, int sal) {
 
      super();
 
      this.name = name;
 
      this.age = age;
 
      this.sal = sal;
 
   }
 
}

4、static關(guān)鍵字

特點(diǎn):

隨著類(lèi)的加載而加載

優(yōu)先于對(duì)象存在

被所有對(duì)象所共享

可以直接被類(lèi)名調(diào)用

使用注意

靜態(tài)方法只能訪(fǎng)問(wèn)靜態(tài)成員

但是非靜態(tài)成員方法可以訪(fǎng)問(wèn)靜態(tài)成員;

靜態(tài)方法中不可以使用this,super關(guān)鍵字

主方法(main)是靜態(tài)的(可以利用類(lèi)名去調(diào)用靜態(tài)的main方法,很正常!但是會(huì)陷入死循環(huán),導(dǎo)致內(nèi)存溢出,jvm自動(dòng)停止!)

public static void main(String[] agrs){}

可修飾字段,方法。

用static 修飾的成員表示它屬于這個(gè)類(lèi)共有,而不是屬于該類(lèi)的單個(gè)實(shí)例。

static 修飾的字段 == 類(lèi)字段

static 修飾的方法 == 類(lèi)方法

沒(méi)使用static修飾的字段和方法,成員屬于類(lèi)的單個(gè)實(shí)例,不屬于類(lèi)。

沒(méi)有static 修飾的字段 == 實(shí)例字段

沒(méi)有static 修飾的方法 == 實(shí)例方法

類(lèi)和實(shí)例訪(fǎng)問(wèn)字段和方法的語(yǔ)法:

訪(fǎng)問(wèn)類(lèi)成員:        類(lèi).字段     類(lèi).方法

訪(fǎng)問(wèn)實(shí)例成員:    實(shí)例.字段          實(shí)例.方法

我的總結(jié)

static 修飾的字段和方法,既可以通過(guò)類(lèi)調(diào)用,也可以使用實(shí)例調(diào)用;

沒(méi)static 修飾的字段和方法,只能使用實(shí)例來(lái)調(diào)用(建議使用:類(lèi)名來(lái)調(diào)用;        其實(shí)在底層,對(duì)象調(diào)用類(lèi)成員,也會(huì)轉(zhuǎn)換類(lèi)名調(diào)用)

static關(guān)鍵字不能與this,super同時(shí)連用!

5、匿名對(duì)象

一個(gè)沒(méi)有名字的對(duì)象,  創(chuàng)建了一個(gè)對(duì)象出來(lái),沒(méi)有賦給一個(gè)變量;

特點(diǎn):

對(duì)方法或字段只進(jìn)行一次調(diào)用時(shí);

可作為實(shí)際參數(shù)進(jìn)行傳遞;

只在堆里面開(kāi)辟存儲(chǔ)區(qū)域,

只能使用一次,  使用完就被銷(xiāo)毀了;

何時(shí)使用?只拿來(lái)用一次??!

new Person();表示匿名對(duì)象,沒(méi)有名字的對(duì)象

new Person().age = 17;//使用一次之后就被銷(xiāo)毀了

6、this關(guān)鍵字

特點(diǎn):this表示當(dāng)前對(duì)象。

當(dāng)前對(duì)象  ←→  當(dāng)前正在調(diào)用實(shí)例成員的對(duì)象

換言之:誰(shuí)調(diào)用了方法,誰(shuí)就是當(dāng)前對(duì)象。

什么時(shí)候使用this關(guān)鍵字呢?

方法間的相互調(diào)用;

this.字段;

構(gòu)造器中相互調(diào)用,但是此時(shí)this([參數(shù)])必須寫(xiě)在構(gòu)造方法第一行。

this不能用在static修飾的方法里和static修飾的代碼塊里;

Eg:構(gòu)造方法中的this.name = name;

7、面向?qū)ο笾庋b

封裝的兩個(gè)含義:

1.把對(duì)象的狀態(tài)和行為看成一個(gè)統(tǒng)一的整體,將二者存放在一個(gè)獨(dú)立的模塊中(類(lèi));

2."信息隱藏", 把不需要讓外界知道的信息隱藏起來(lái),盡可能隱藏對(duì)象功能實(shí)現(xiàn)細(xì)節(jié),字段;

封裝機(jī)制在程序中的體現(xiàn)是:

把描述對(duì)象的狀態(tài)用字段表示,描述對(duì)象的行為用方法表示,把字段和方法定義在一個(gè)類(lèi)中,并保證外界不能任意更改其內(nèi)部的字段值,也不允許任意調(diào)動(dòng)其內(nèi)部的功能方法。

程序中的一種體現(xiàn):

通常將類(lèi)中的成員變量私有化(private),通過(guò)對(duì)外提供方法(setXxx,getXxx),可對(duì)該變量(xxx)進(jìn)行訪(fǎng)問(wèn)。

boolean 類(lèi)型的變量沒(méi)有g(shù)etXX,只有 isXX;

 Eg:
 
class Person1{
 
   private String name;
 
   private int age;
 
   private int sal;
 
  
 
   public String getName() {
 
      return name;
 
   }
 
 
 
   public void setName(String name) {
 
      this.name = name;
 
   }
 
 
 
   public int getAge() {
 
      return age;
 
   }
 
 
 
   public void setAge(int age) {
 
      this.age = age;
 
   }
 
}

8、訪(fǎng)問(wèn)修飾符

private 類(lèi)訪(fǎng)問(wèn)權(quán)限:本類(lèi)內(nèi)部可以訪(fǎng)問(wèn),不能繼承到子類(lèi);

default 什么都不寫(xiě),包訪(fǎng)問(wèn)權(quán)限:本類(lèi)內(nèi)部可以訪(fǎng)問(wèn),同包其他類(lèi)也可以訪(fǎng)問(wèn),同包可繼承;

protected 子類(lèi)訪(fǎng)問(wèn)權(quán)限:本類(lèi)內(nèi)部可以訪(fǎng)問(wèn),不同包的子類(lèi)也可以訪(fǎng)問(wèn),同包其他類(lèi)也可以訪(fǎng)問(wèn),能繼承到子類(lèi);

public 公共訪(fǎng)問(wèn)權(quán)限:任何地方都可以訪(fǎng)問(wèn),能繼承到子類(lèi);

總結(jié):

什么是java的面向?qū)ο?></p><p><strong>9、類(lèi)的設(shè)計(jì)分析</strong></p><p>分析思路:</p><p>根據(jù)要求寫(xiě)出類(lèi)所包含的字段;</p><p>所有的字段都必須私有化;</p><p>封裝之后的字段可通過(guò)setter和getter設(shè)值和取得;</p><p>按需求可添加若干構(gòu)造方法;</p><p>根據(jù)需求可添加相應(yīng)的方法;</p><p>類(lèi)中的所有方法都不要直接處理(輸出打印),而是交給調(diào)用者去處理。</p><p><strong>10、面向?qū)ο笾^承 </strong></p><p>首先有反映一般事物特性的類(lèi),然后在此基礎(chǔ)上反映出特殊事物的類(lèi);</p><p>也就是說(shuō):繼承是一種從一般到特殊的關(guān)系;</p><p><strong>特點(diǎn)</strong>:</p><p>1、提高了代碼的復(fù)用性。</p><p>2、讓類(lèi)與類(lèi)之間產(chǎn)生關(guān)系,有了這個(gè)繼承關(guān)系才有了多態(tài)的特性。</p><p>3、Java語(yǔ)言中只支持單繼承(有別于C語(yǔ)言)。</p><p>因?yàn)槎嗬^承容易帶來(lái)安全隱患(父類(lèi)多了, 功能相同的話(huà),就會(huì)出現(xiàn)調(diào)用不確定性嗎,覆寫(xiě)一個(gè)方法,到底覆寫(xiě)的誰(shuí)的?)。</p><p><strong>ps:接口可以實(shí)現(xiàn)多繼承</strong></p><p>4、Java支持多層繼承,object是每個(gè)類(lèi)的超類(lèi),實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)。</p><p>我的總結(jié):</p><p>繼承是多態(tài)的前提。</p><p>對(duì)類(lèi)而言,只支持單繼承。</p><p>格式:</p><p>[修飾符] class SubClass extends SuperClass</p><p>按照這種關(guān)系,我們把SuperClass類(lèi)稱(chēng)為父類(lèi)或基類(lèi),把SubClass稱(chēng)為子類(lèi)或派生類(lèi)或拓展類(lèi);</p><p>我的總結(jié):</p><p>java.lang.Object是所有類(lèi)的父類(lèi),</p><p>Object要么是直接父類(lèi)要么是間接父類(lèi)。</p><p>Eg:</p><p>學(xué)生屬于人的一種特殊情況,此時(shí)我把人的共性寫(xiě)在Person類(lèi)里面,為了讓學(xué)生擁有這些共性(別的比如老師也可以有這些共性),然后我就讓學(xué)生來(lái)拓展Person類(lèi)。</p><p>我的總結(jié):</p><p>子類(lèi)與父類(lèi)的關(guān)系:</p><p>子類(lèi)拓展父類(lèi)(子類(lèi)是父類(lèi)的一種特殊情況)</p><p>主要是以父類(lèi)為基礎(chǔ),然后添加屬于自己的字段和方法。</p><p>父類(lèi)的私有成員子類(lèi)不能繼承到;</p><p>父類(lèi)的構(gòu)造方法不能被繼承;</p><p>Java只支持單繼承,不支持多繼承;//不然的話(huà),比如show方法,繼承了多個(gè),不知道到底調(diào)用那一個(gè)。</p><p>一個(gè)類(lèi)有且只有一個(gè)直接父類(lèi);</p><p>一個(gè)類(lèi)沒(méi)顯示的繼承其他的一個(gè)類(lèi)的時(shí)候,默認(rèn)的直接父類(lèi)就是Object類(lèi);</p><p>Student 的直接父類(lèi)是Person,Object類(lèi)也是Student類(lèi)的父類(lèi),但是是間接父類(lèi);</p><p>一旦一個(gè)類(lèi)顯示的繼承了其他的一個(gè)類(lèi)的時(shí)候,此時(shí)默認(rèn)的直接父類(lèi)Object就會(huì)被取消;</p><p>Java里一個(gè)類(lèi)只能有一個(gè)直接父類(lèi);</p><p>java.lang.Object是所有類(lèi)的父類(lèi),Object要么是直接父類(lèi)要么是間接父類(lèi)。</p><p>子類(lèi)對(duì)象實(shí)例化過(guò)程</p><p>在繼承操作中,對(duì)于子類(lèi)對(duì)象的實(shí)例化:</p><p>子類(lèi)對(duì)象在實(shí)例化之前必須首先調(diào)用父類(lèi)中的構(gòu)造方法之后再調(diào)用自身的構(gòu)造方法。</p><p>關(guān)于什么是java的面向?qū)ο缶头窒淼竭@里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。</p>            <p>
                當(dāng)前文章:<a href=什么是java的面向?qū)ο?創(chuàng)新互聯(lián)
文章地址:http://jinyejixie.com/article18/dsihdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、標(biāo)簽優(yōu)化、網(wǎng)站策劃移動(dòng)網(wǎng)站建設(shè)、企業(yè)建站虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

彰武县| 化德县| 铁力市| 达日县| 合水县| 石嘴山市| 平阳县| 岳阳市| 那曲县| 固原市| 博客| 通州区| 合肥市| 巴林左旗| 额敏县| 额敏县| 垫江县| 仙居县| 固阳县| 泸水县| 开封县| 塘沽区| 怀化市| 石楼县| 茂名市| 襄垣县| 沂源县| 南和县| 金乡县| 桃园县| 翁牛特旗| 眉山市| 南皮县| 双鸭山市| 会理县| 三江| 塔河县| 余江县| 定南县| 东平县| 江阴市|