1.面向?qū)ο蟮能浖_發(fā)有哪些優(yōu)點?
面向?qū)ο笤O(shè)計是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動的系統(tǒng)方法,是建立在“對象”概念基礎(chǔ)上的方法學(xué)。所謂面向?qū)ο缶褪腔趯ο蟾拍睿詫ο鬄橹行模灶惡屠^承為構(gòu)造機制,來認識、理解、刻畫客觀世界和設(shè)計、構(gòu)建相應(yīng)的軟件系統(tǒng)。
從面向過程到面向?qū)ο笫浅绦蛟O(shè)計技術(shù)的一個飛躍。人們之所以要采用面向?qū)ο蟮某绦蛟O(shè)計技術(shù),其目的在于:按照與人類習慣思維方法一致的原則開發(fā)系統(tǒng);提高代碼的可重用性(或者稱為復(fù)用性);提升程序的開發(fā)與運行效率;提高程序的可靠性與可維護性;提高程序的可擴展性;增強程序的可控制性?傊嫦?qū)ο蟮某绦蛟O(shè)計,能夠有效分解、降低問題的難度與復(fù)雜性,提高整個求解過程的可控制性、可監(jiān)視性和可維護性,從而獲得較高的開發(fā)效率與可靠效果。
2.什么叫對象?什么叫類?類和對象有什么關(guān)系。
對象(Object)是一個應(yīng)用系統(tǒng)中用來描述客觀事物的實體,是具有特定屬性(數(shù)據(jù))和行為(方法)的基本運行單位,是類的一個特定狀態(tài)下的實例。對象是一件事、一個實體、一個名詞、一個可以想象為有自己的標識的任何東西。對象是類的實例化。概括來說:萬物皆對象。對象具有狀態(tài),一個對象用數(shù)據(jù)值來描述它的狀態(tài)。
類(Class)是Java代碼的基本組織模塊,是用以描述一組具有共同屬性和行為的對象的基本原型,是對這組對象的概括、歸納與抽象表達。類是對象的模板,它定義了本類對象所應(yīng)擁有的狀態(tài)屬性集及操作這組屬性的行為方法集。是對一組有相同數(shù)據(jù)和相同操作的對象的定義,一個類所包含的方法和數(shù)據(jù)描述一組對象的共同屬性和行為。
類和對象之間的關(guān)系是抽象和具體的關(guān)系:類就是一種模板,表達的是一種抽象的概念,它描述了該類對象的共同特征,類是在對象之上的抽象,對象則是類的具體化,是類的實例。對象是模板的實例化,是個性的產(chǎn)物,是一個具體的個體;類必須通過對象才能使用,而對象中的屬性和行為都必須在類中定義;類由屬性和行為(方法)組成。
3.什么是包?把一個類放在包里有什么作用?
Java中的包(Package) 是一種松散的類的集合,是用來組織與管理類與接口的容器。包的作用主要是把需要協(xié)同工作的不同的類組織在一起,使得程序功能清楚、結(jié)構(gòu)分明。
4.作用域public、private、protected以及不寫時(default)有什么區(qū)別?
當用一個類創(chuàng)建了一個對象之后,該對象可以通過“.”運算符訪問自己的變量,并使用類中的方法。但訪問自己的變量和使用類中的方法是有一定限制的。通過修飾符private、default、protected和public來說明類成員的使用權(quán)限。
private(私有的):類中限定為private的成員只能在這個類中被訪問,在類外不可見。
default(無修飾符,缺省的):如果沒有訪問控制符,則該類成員可以被該類所在包中的所有其它類訪問。
protected(受保護的):用該關(guān)鍵字修飾的類成員可以被同一類、被該類所在包中的所有其它類或其子類(可以不在同一包中)的實例對象訪問。
public:用public修飾的類成員可以被其他任何類訪問,前提是對類成員所在的類有訪問權(quán)限。
類成員訪問控制符與訪問能力之間的關(guān)系
同一個類 同一個包 不同包的子類 不同包非子類
private *
default * *
protected * * *
public * * * *
5.什么是方法?方法的結(jié)構(gòu)是怎樣的?設(shè)計方法應(yīng)考慮哪些因素?
方法是Java類的一個組成部分,通過類的方法改變對象的狀態(tài)。
方法的結(jié)構(gòu):[方法修飾符] 返回值類型 方法名([形參列表])[throws異常列表]
{
方法體;
}
設(shè)計方法應(yīng)考慮因素有:
(1) 方法名是Java中任意的標識符,按照命名的約定,方法名應(yīng)該是有意義的動詞或動詞短語,它的第一個字母一般要小寫,其他有意義的單詞的首字母要大寫,其余字母小寫。
(2) 返回值類型可以是任意的Java類型,甚至可以是定義此方法的類。如果方法沒有返回值,則用void表示。
(3) 形式參數(shù)列表是可選的。如果方法沒有形式參數(shù),就用一對小括號“()”表示。形式參數(shù)列表的形式如下: (類型 形參名,類型 形參名,……)
(4) throws異常列表規(guī)定了在方法執(zhí)行中可能導(dǎo)致的異常。