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