這篇文章將為大家詳細(xì)講解有關(guān)什么是java的面向?qū)ο螅恼聝?nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元重慶做網(wǎng)站,已為上家服務(wù),為重慶各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
1、什么叫面向?qū)ο螅?/strong>
面向?qū)ο?Object-Oriented,簡稱OO)就是一種常見的程序結(jié)構(gòu)設(shè)計(jì)方法。
面向?qū)ο笏枷氲幕A(chǔ)是將相關(guān)的數(shù)據(jù)和方法放在一起,組合成一種新的復(fù)合數(shù)據(jù)類型,然后使用新創(chuàng)建的復(fù)合數(shù)據(jù)類型作為項(xiàng)目的基礎(chǔ)。
面向?qū)ο笫且粋€(gè)很抽象的概念,它相對(duì)面向過程而言。
過程與對(duì)象都是一種解決問題的思想。
面向過程:強(qiáng)調(diào)的是功能行為,一種過程,先干啥,再干啥;
面向?qū)ο螅簩⒐δ芊庋b到對(duì)象里,強(qiáng)調(diào)的是具備某功能的對(duì)象;
按照面向?qū)ο蟮乃枷?,可以把任何的東西看做對(duì)象!
面向?qū)ο蟮娜齻€(gè)特征:
封裝(Encapsulation);
繼承(Inheritance);
多態(tài)(Polymorphism)。
我的總結(jié):
面向過程:強(qiáng)調(diào)的是具體的功能實(shí)現(xiàn);(執(zhí)行者)
面向?qū)ο螅簭?qiáng)調(diào)的是具備功能的對(duì)象。(管理者)
2、類
類(class)是Java 語言的最小編程單位,也是設(shè)計(jì)和實(shí)現(xiàn)Java 程序的基礎(chǔ),本部分將深入介紹類的相關(guān)知識(shí)。
類的概念
類是一組事物共有特征和功能的描述。類是對(duì)于一組事物的總體描述,是按照面向?qū)ο蠹夹g(shù)進(jìn)行設(shè)計(jì)時(shí)最小的單位,也是組成項(xiàng)目的最基本的模塊。類的概念是抽象的,類似于建筑設(shè)計(jì)中的圖紙,是對(duì)于現(xiàn)實(shí)需要代表的具體內(nèi)容的抽象。類只包含框架結(jié)構(gòu),而不包含具體的數(shù)據(jù)。所以類代表的是總體,而不代表某個(gè)特定的個(gè)體。
我的總結(jié):類是抽象的,對(duì)象是具體的,實(shí)實(shí)在在的!
類的定義:
[修飾符] class 類名{
1~n個(gè)構(gòu)造方法;
0~n個(gè)字段;
0~n個(gè)方法
}
定義類,其實(shí)就是定義類里面的對(duì)象
對(duì)象包含:
狀態(tà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)造方法:用來構(gòu)造類的實(shí)例(每一個(gè)類都默認(rèn)有一個(gè)無參的構(gòu)造方法,得使用new調(diào)用)
字段:類或?qū)ο笏臄?shù)據(jù),對(duì)類狀態(tài)的一種描述;
方法:類或?qū)ο蟮奶卣骰蛐袨?/p>
作用:
給類中的字段進(jìn)行初始化,可以用來創(chuàng)建對(duì)象。
特點(diǎn):
方法名與類名相同
不用定義返回值類型
不需要寫return語句
注意:
默認(rèn)構(gòu)造方法的特點(diǎn)。
多個(gè)構(gòu)造方法是以重載的形式存在的。
構(gòu)造方法的重載:(需要哪個(gè)就去適配哪個(gè),調(diào)用哪個(gè))
this([實(shí)參]);調(diào)用當(dāng)前類的構(gòu)造方法
注意: this([實(shí)參]);必須放在構(gòu)造器的第一行;
對(duì)象的產(chǎn)生格式:
類名稱 對(duì)象名 = new 類名稱();
因?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):
隨著類的加載而加載
優(yōu)先于對(duì)象存在
被所有對(duì)象所共享
可以直接被類名調(diào)用
使用注意:
靜態(tài)方法只能訪問靜態(tài)成員
但是非靜態(tài)成員方法可以訪問靜態(tài)成員;
靜態(tài)方法中不可以使用this,super關(guān)鍵字
主方法(main)是靜態(tài)的(可以利用類名去調(diào)用靜態(tài)的main方法,很正常!但是會(huì)陷入死循環(huán),導(dǎo)致內(nèi)存溢出,jvm自動(dòng)停止?。?/p>
public static void main(String[] agrs){}
可修飾字段,方法。
用static 修飾的成員表示它屬于這個(gè)類共有,而不是屬于該類的單個(gè)實(shí)例。
static 修飾的字段 == 類字段
static 修飾的方法 == 類方法
沒使用static修飾的字段和方法,成員屬于類的單個(gè)實(shí)例,不屬于類。
沒有static 修飾的字段 == 實(shí)例字段
沒有static 修飾的方法 == 實(shí)例方法
類和實(shí)例訪問字段和方法的語法:
訪問類成員: 類.字段 類.方法
訪問實(shí)例成員: 實(shí)例.字段 實(shí)例.方法
我的總結(jié):
static 修飾的字段和方法,既可以通過類調(diào)用,也可以使用實(shí)例調(diào)用;
沒static 修飾的字段和方法,只能使用實(shí)例來調(diào)用(建議使用:類名來調(diào)用; 其實(shí)在底層,對(duì)象調(diào)用類成員,也會(huì)轉(zhuǎn)換類名調(diào)用)
static關(guān)鍵字不能與this,super同時(shí)連用!
5、匿名對(duì)象
一個(gè)沒有名字的對(duì)象, 創(chuàng)建了一個(gè)對(duì)象出來,沒有賦給一個(gè)變量;
特點(diǎn):
對(duì)方法或字段只進(jìn)行一次調(diào)用時(shí);
可作為實(shí)際參數(shù)進(jìn)行傳遞;
只在堆里面開辟存儲(chǔ)區(qū)域,
只能使用一次, 使用完就被銷毀了;
何時(shí)使用?只拿來用一次??!
new Person();表示匿名對(duì)象,沒有名字的對(duì)象
new Person().age = 17;//使用一次之后就被銷毀了
6、this關(guān)鍵字
特點(diǎn):this表示當(dāng)前對(duì)象。
當(dāng)前對(duì)象 ←→ 當(dāng)前正在調(diào)用實(shí)例成員的對(duì)象
換言之:誰調(diào)用了方法,誰就是當(dāng)前對(duì)象。
什么時(shí)候使用this關(guān)鍵字呢?
方法間的相互調(diào)用;
this.字段;
構(gòu)造器中相互調(diào)用,但是此時(shí)this([參數(shù)])必須寫在構(gòu)造方法第一行。
this不能用在static修飾的方法里和static修飾的代碼塊里;
Eg:構(gòu)造方法中的this.name = name;
7、面向?qū)ο笾庋b
封裝的兩個(gè)含義:
1.把對(duì)象的狀態(tài)和行為看成一個(gè)統(tǒng)一的整體,將二者存放在一個(gè)獨(dú)立的模塊中(類);
2."信息隱藏", 把不需要讓外界知道的信息隱藏起來,盡可能隱藏對(duì)象功能實(shí)現(xiàn)細(xì)節(jié),字段;
封裝機(jī)制在程序中的體現(xiàn)是:
把描述對(duì)象的狀態(tài)用字段表示,描述對(duì)象的行為用方法表示,把字段和方法定義在一個(gè)類中,并保證外界不能任意更改其內(nèi)部的字段值,也不允許任意調(diào)動(dòng)其內(nèi)部的功能方法。
程序中的一種體現(xiàn):
通常將類中的成員變量私有化(private),通過對(duì)外提供方法(setXxx,getXxx),可對(duì)該變量(xxx)進(jìn)行訪問。
boolean 類型的變量沒有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、訪問修飾符
private 類訪問權(quán)限:本類內(nèi)部可以訪問,不能繼承到子類;
default 什么都不寫,包訪問權(quán)限:本類內(nèi)部可以訪問,同包其他類也可以訪問,同包可繼承;
protected 子類訪問權(quán)限:本類內(nèi)部可以訪問,不同包的子類也可以訪問,同包其他類也可以訪問,能繼承到子類;
public 公共訪問權(quán)限:任何地方都可以訪問,能繼承到子類;
總結(jié):
什么是java的面向?qū)ο?/a>
文章分享:http://jinyejixie.com/article46/gdjohg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、建站公司、動(dòng)態(tài)網(wǎng)站、軟件開發(fā)、網(wǎng)站策劃、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)