第二部分:java類與對象

關(guān)于Java對象作為參數(shù)傳遞是傳值還是傳引用的問題

Java中@Override的作用

Java 訪問權(quán)限修飾符public,private,protected和不寫的區(qū)別

詳解java中package與import
package:將本源文件中的接口和類納入指定包中墩邀。源文件中若有包說明語句,則必須是第一個語句染厅。
import:引入本源文件中需要使用的包抖坪。

一:數(shù)據(jù)成員

形式:[修飾符] 數(shù)據(jù)成員類型 數(shù)據(jù)成員名表
修飾符包括訪問權(quán)限修飾符public揖盘、private、protected和非訪問權(quán)限修飾符static、final等天试。
下面是類、數(shù)據(jù)成員和成員方法的訪問控制符及其作用表格

數(shù)據(jù)成員與方法\類 public 缺省
public 所有類 包中類(含當(dāng)前類)
protected 包中類(含當(dāng)前類)然低,所有子類 包中類(含當(dāng)前類)
缺省(friendly) 包中類(含當(dāng)前類) 包中類(含當(dāng)前類)
private 當(dāng)前類本身 當(dāng)前類本身

下面對修飾符的非訪問修飾符static喜每、final做一些論述
用 static 修飾的數(shù)據(jù)成員:
1.用 static 修飾的數(shù)據(jù)成員不屬于任何一個類的具體對象里初,而是屬于類的靜態(tài)數(shù)據(jù)成員的婿斥。特點如下:
(1)它被保存在類的內(nèi)存區(qū)的公共存儲單元中,而不是被保存在某個對象的內(nèi)存區(qū)中卒废。因此吨灭,一個類的任何對象訪問它時刚照,存取到的都是相同的數(shù)值。
(2)可以通過類名加點訪問它喧兄。
(3)static 類的數(shù)據(jù)成員仍屬于類的作用域无畔,還可以使用public static、private static吠冤、等進(jìn)行修飾浑彰。修飾符不同,可訪問的層次也不同拯辙。

2.靜態(tài)數(shù)據(jù)成員初始化方法:
(1)可以由在定義時進(jìn)行郭变;
(2)可以有靜態(tài)初始化器完成;

3.與構(gòu)造方法不同涯保,靜態(tài)初始化器的特點如下:
(1)靜態(tài)初始化器是由關(guān)鍵字 static 引導(dǎo)的一對花括號括起來的語句塊诉濒,作用是在加載類時,初始化類的靜態(tài)數(shù)據(jù)成員。構(gòu)造方法用來對新創(chuàng)建的對象進(jìn)行初始化夕春。
(2)靜態(tài)初始化器不是方法未荒,沒有方法名、返回值和參數(shù)表及志。
(3)靜態(tài)初始化器是在它所屬的類加載到內(nèi)存時由系統(tǒng)調(diào)用執(zhí)行的茄猫。而構(gòu)造方法是在系統(tǒng)用 new 運算符產(chǎn)生新對象時自動執(zhí)行的狈蚤。

public class test{
    static int m;
    //static int m=100;用戶在定義時進(jìn)行
    static{//靜態(tài)初始化器
        m=100;
    }
    public static void main(String args[]){
        test t=new test();
        System.out.println("輸出m:"+t.m);
    }
}

用 final 修飾的數(shù)據(jù)成員:
如果一個類的數(shù)據(jù)成員用 final 修飾符修飾,則這個數(shù)據(jù)成員被限定為最終數(shù)據(jù)成員划纽。最終數(shù)據(jù)成員可以在聲明時進(jìn)行初始化脆侮,也可以通過構(gòu)造方法賦值,但不能在程序的其他部分賦值勇劣,它的值在程序的整個執(zhí)行過程中是不能改變的靖避。也就是說,用 final 修飾符修飾的數(shù)據(jù)成員是標(biāo)識符常量比默。
用 final 修飾符說明常量時幻捏,需要注意以下幾點:
(1)需要說明常量的數(shù)據(jù)類型并指出常量的具體值。
(2)若一個類有多個對象命咐,而某個數(shù)據(jù)成員是常量篡九,最好將此常量聲明為 static ,即用static final 兩個修飾符修飾它醋奠,可以節(jié)省空間榛臼。
(3)final修飾的數(shù)據(jù)成員屬于對象,其值一經(jīng)確定窜司,不再改變沛善。
用static修飾的數(shù)據(jù)成員屬于類,類似于一個全局變量的作用塞祈。

二:成員方法

相當(dāng)于子程序金刁,函數(shù)。

1.成員方法的分類:

從成員方法的來來源看:
(1)類庫成員方法议薪,由 java 類庫提供尤蛮,需要按照 java 提供的調(diào)用格式調(diào)用這些成員方法。
(2)用戶自定義的成員方法斯议。
從成員方法的形式看:
(1)無參成員方法
(2)帶參成員方法

2.聲明成員方法的格式:

在 java 程序中抵屿,成員方法的聲明只能在類中進(jìn)行,格式如下:

//成員方法頭
[修飾符]返回值的類型 成員方法名(形式參數(shù)表) throw[異常表]{
    //方法體
    說明部分
    執(zhí)行語句部分
}

成員方法頭中的各項說明如下:
(1)修飾符捅位。
訪問權(quán)限修飾符:
作用是指出滿足什么條件時該成員方法可以被訪問。包括:
公共訪問修飾符public搂抒、私有訪問控制符private艇搀、保護(hù)訪問控制符protected等
非訪問權(quán)限修飾符:
作用是指明成員方法的使用方式。包括:
靜態(tài)成員方法修飾符static求晶、最終成員方法修飾符final焰雕、本地成員方法修飾符native、抽象成員方法修飾符abstract等
(2)返回值的類型芳杏。
有返回值 int矩屁、float等
無返回值void
(3)成員方法名辟宗。
即標(biāo)識符。按照慣例,方法名是一個小寫的動詞或單詞吝秕,若為多個單詞泊脐,則第一個動詞小寫,后續(xù)單詞的第一個字母大寫烁峭。
(4)形式參數(shù)表容客。
有參格式:(形參類型1 形參名1,形參類型2 形參名2...)
無參格式:()
(5)throw [異常表]。
它指出當(dāng)該方法遇到方法的設(shè)計者未曾想到的問題時如何處理约郁。

3.方法體中的局部變量

注意:
(1)在方法體內(nèi)定義的變量是局部變量缩挑,生存期和作用域是在本方法內(nèi)。局部變量只在本方法內(nèi)有效鬓梅、可見供置。離開本方法后,這些變量被自動釋放绽快。
(2)方法體內(nèi)定義變量芥丧,變量前不能加修飾符。
(3)局部變量在使用前必須明確賦值谎僻。
(4)在一個方法內(nèi)部娄柳,可以在復(fù)合語句中定義變量,這些變量只在復(fù)合語句中有效艘绍,這種復(fù)合語句也被稱為程序塊赤拒。

4.成員方法的返回值

格式: return 表達(dá)式;
或: return(表達(dá)式);
表達(dá)式可以是常量、變量诱鞠、對象等挎挖,表達(dá)式的數(shù)據(jù)類型必須與成員方法頭中給出的“返回值的類型一致”。

5.形參與實參

實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”航夺,只能由實參傳遞給形參蕉朵,而不能由形參傳給實參。程序中執(zhí)行到引用成員方法時,java把實參值拷貝到一個臨時的存儲區(qū)(棧)中阳掐,形參的任何修改都在棧中執(zhí)行始衅,當(dāng)退出該成員方法時,java自動清除棧中的內(nèi)容缭保。

6.成員方法引用方式:

1.方法語句:如:add(a,b);
2.方法表達(dá)式:如:f=2+add(f1,f2);
3.方法作為參數(shù):如:add(a,add(f1,f2));
4.通過對象來引用:如:引用變量名.方法名汛闸;
注意:
1.如果被引用的方法在本文件中,并且是本類的方法艺骂,則可以直接引用诸老。
2.如果被引用的方法在本文件中,但不是本類的方法钳恕,則要由類的修飾符與方法的修飾符來決定是否能引用别伏。
3.如果被引用的方法不是本文件的方法而是java類庫的方法蹄衷,必須在文件的開頭用import命令將引用有關(guān)庫方法所需的信息寫入本文件中。
4..如果被引用的方法是用戶在其他文件中自己定義的方法厘肮,則必須通過加載用戶包的方式來引用愧口。

7.用static修飾的靜態(tài)方法

(1)static方法是屬于整個類的,它在內(nèi)存中的代碼段隨著類的定義被分配和裝載轴脐;不用static修飾符限定的方法调卑,是某個具體類的對象的方法當(dāng)這個對象創(chuàng)建時在對象的內(nèi)存中擁有這個方法的專用代碼段。
(2)引用靜態(tài)方法:可以使用與對象關(guān)聯(lián)的引用變量名作為前綴大咱,也可以使用類名作為前綴恬涧。
(3)static方法只能訪問到static數(shù)據(jù)成員,不能訪問非static數(shù)據(jù)成員碴巾,但非static方法可以訪問static數(shù)據(jù)成員溯捆。static方法只能訪問到static方法,不能訪問非static方法厦瓢,但非static方法可以訪問static方法提揍。
(4)static方法不能被覆蓋。即:這個類的子類不能有相同名及相同參數(shù)的方法煮仇。
(5)main方法是靜態(tài)方法劳跃。在java的每個Application程序中,都必須有且只能有一個main方法浙垫,它是Application程序運行的入口點刨仑。

8.用final修飾的最終方法

在面向?qū)ο蟮某绦蛟O(shè)計中,子類可以利用重載機制修改從父類那里繼承來的某些數(shù)據(jù)成員及成員方法夹姥。用final修飾符修飾的方法稱為最終方法杉武,如果類的某個方法被final修飾符所限定,則該類的子類就不能覆蓋父類的方法辙售,即不能再重新定義與此方法同名的自己的方法轻抱,僅能使用從父類繼承來的方法。使用final修飾方法旦部,是為了任何繼承類修改此方法祈搜。保證程序的安全性。

9.用native修飾的本地方法(暫沒掌握)

使用此類方法的目的是將其他語言(如C士八、C++容燕、FORTRAN
、匯編語言等)嵌入到j(luò)ava語言中曹铃。native方法特別注意平臺問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捧杉,一起剝皮案震驚了整個濱河市陕见,隨后出現(xiàn)的幾起案子秘血,更是在濱河造成了極大的恐慌,老刑警劉巖评甜,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灰粮,死亡現(xiàn)場離奇詭異,居然都是意外死亡忍坷,警方通過查閱死者的電腦和手機粘舟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來佩研,“玉大人柑肴,你說我怎么就攤上這事⊙恚” “怎么了晰骑?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長绊序。 經(jīng)常有香客問我硕舆,道長,這世上最難降的妖魔是什么骤公? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任抚官,我火速辦了婚禮,結(jié)果婚禮上阶捆,老公的妹妹穿的比我還像新娘凌节。我一直安慰自己,他們只是感情好趁猴,可當(dāng)我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布刊咳。 她就那樣靜靜地躺著,像睡著了一般儡司。 火紅的嫁衣襯著肌膚如雪娱挨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天捕犬,我揣著相機與錄音跷坝,去河邊找鬼。 笑死碉碉,一個胖子當(dāng)著我的面吹牛柴钻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播垢粮,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼贴届,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起毫蚓,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤占键,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后元潘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體畔乙,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年翩概,在試婚紗的時候發(fā)現(xiàn)自己被綠了牲距。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡钥庇,死狀恐怖牍鞠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情上沐,我是刑警寧澤皮服,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站参咙,受9級特大地震影響龄广,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蕴侧,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一择同、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧净宵,春花似錦敲才、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至敏储,卻和暖如春阻星,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背已添。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工妥箕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人更舞。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓畦幢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缆蝉。 傳聞我的和親對象是個殘疾皇子宇葱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容