2 回答

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
Java創(chuàng)建一個(gè)類的關(guān)鍵字為class,基本語法格式為public class ClassName{};在開發(fā)中,通常類的名字首字母大寫。類中包含了類的特定屬性,比如我們創(chuàng)建一個(gè)動(dòng)物類,動(dòng)物有自己的屬性名字,年齡等屬性特點(diǎn),我們創(chuàng)建好動(dòng)物這個(gè)類之后,當(dāng)需要一個(gè)動(dòng)物的時(shí)候,就去創(chuàng)建一個(gè)動(dòng)物的對(duì)象,之后使用這個(gè)具體的對(duì)象進(jìn)行操作就可以。創(chuàng)建對(duì)象的關(guān)鍵字是new,基本語法為 ClassName objectName = new ClassName();
在Java中類的構(gòu)造函數(shù)包含有參構(gòu)造函數(shù)和無參構(gòu)造函數(shù),默認(rèn)如果不在類中寫構(gòu)造函數(shù),默認(rèn)有一個(gè)無參的構(gòu)造函數(shù),當(dāng)創(chuàng)建一個(gè)對(duì)象的時(shí)候,默認(rèn)使用的就是這個(gè)構(gòu)造函數(shù)。
如果需要在創(chuàng)建對(duì)象的時(shí)候就將對(duì)象的屬性值設(shè)置好,就需要一個(gè)有參構(gòu)造函數(shù),在創(chuàng)建對(duì)象的時(shí)候,將參數(shù)傳入即可。如果創(chuàng)建一個(gè)有參的構(gòu)造函數(shù),那么默認(rèn)的無參構(gòu)造函數(shù)將會(huì)被覆蓋,如果還需要一個(gè)無參構(gòu)造函數(shù),則需要手動(dòng)重寫一個(gè)無參構(gòu)造函數(shù)。
Java類可以被繼承,子類會(huì)繼承父類的一些屬性值,但是子類也可以有自己的一些特定屬性,小狗(子類)屬于動(dòng)物(父類),有動(dòng)物這個(gè)種類的所有屬性,但是小狗也有屬于自己的特性。在開發(fā)中我們會(huì)將具有某些基本屬性的歸為一類,如果另一個(gè)類也有這些屬性,而且它還有屬于自己的特性,可以將子類繼承于父類,這樣子類就包含了父類所有的屬性。
Java類的繼承關(guān)鍵字是extends,基本語法為: public class ChiledClass extends ParentClass{};
在子類中,有時(shí)候雖然繼承了父類的屬性值,但是有時(shí)候,我們需要子類中的該屬性值有自己的特點(diǎn),這時(shí)候,我們可以重寫父類的屬性方法,將該屬性設(shè)置為我們需要的值,這樣雖然子類繼承于父類,但是也有自己的獨(dú)特性。
在開發(fā)中,我們通常會(huì)將類的屬性設(shè)置為私有的,這樣外部就不會(huì)隨意訪問到這個(gè)屬性。但是為了讓外部能夠訪問該屬性值,我們通常使用 set和get方法去設(shè)置和獲取該屬性值,這樣如果開發(fā)中不想讓別人隨意修改該屬性,可以將set方法去掉,只留下get方法,這樣這個(gè)屬性就只可以訪問而不可以修改,很好的保護(hù)的這個(gè)屬性值,不讓別人去隨意修改。

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
Java是一門面向?qū)ο蟮木幊陶Z言(OOP),想要理解Java,首先要理解類(Class)的概念。Java中的類可以看成C語言的結(jié)構(gòu)體的升級(jí)版。結(jié)構(gòu)體是一種構(gòu)造數(shù)據(jù)類型,可以包含不同的成員(變量),每個(gè)成員的數(shù)據(jù)類型可以不一樣,可以通過結(jié)構(gòu)體來定義結(jié)構(gòu)體變量,每個(gè)結(jié)構(gòu)體擁有相同的性質(zhì)。
類是一個(gè)通用的概念,Java,C++,C#,PHP等很多編程語言中都有類,都可以通過類創(chuàng)建對(duì)象,可以將類看做結(jié)構(gòu)體的升級(jí)版。
因?yàn)镴ava,C++等語言都支持類和對(duì)象,所以使用這些語言編寫程序被稱為面向?qū)ο缶幊?OOP),這些語言也被稱為面向?qū)ο蟮木幊陶Z言。C語言因?yàn)椴恢С诸惡蛯?duì)象的概念,被稱為面向過程的編程語言。
添加回答
舉報(bào)