學(xué)Java入門篇:Java類的基本內(nèi)容+19年java學(xué)習(xí)資料分享荷并!

import語句

我自己是一個(gè)從事了6年的Java全棧工程師源织,最近整理了一套適合2019年學(xué)習(xí)的Java\大數(shù)據(jù)資料微猖,從基礎(chǔ)的Java、大數(shù)據(jù)面向?qū)ο蟮竭M(jìn)階的框架知識都有整理哦侠仇,可以來我的主頁免費(fèi)領(lǐng)取哦犁珠。

為了能夠使用某一個(gè)包的成員,我們需要在 Java 程序中明確導(dǎo)入該包余素。使用“import”語句可完成此功能炊昆。在 java 源文件中 import 語句應(yīng)位于 package 語句之后威根,所有類的定義之前视乐,可以沒有炊林,也可以有多條,其語法格式為:

import package1[.package2…].(classname|*);

java 運(yùn)行時(shí)環(huán)境將到 CLASSPATH + package1.[package2…]路徑下尋找并載入相應(yīng)的字節(jié)碼文件 classname.class独榴∞戎Γ“*”號為通配符,代表所有的類症歇。也就是說 import 語句為編譯器指明了尋找類的途徑谭梗。

例,使用 import 語句引入類程序:TestPackage.java

import p1.Test;

//或者 import p1.*;

public class TestPackage {

public static void main(String args[]) {

Test t = new Test(); // Test 類在 p1 包中定義

t.display();

}

}

java編譯器默認(rèn)為所有的java 程序引入了JDK的java.lang 包中所有的類(importjava.lang.*;)设塔,其中定義了一些常用類:System远舅、String、Object序六、Math 等蚤吹。因此我們可以直 接使用這些類而不必顯式引入。但使用其它非無名包中的類則必須先引入余佃、后使用跨算。

Java 類搜尋方式

程序中的 import 語句標(biāo)明要引入 p1 包中的 Test 類慨飘,假定環(huán)境變量 CLASSPATH 的值為“.;C:jdk6lib;D:ex”妈嘹,java 運(yùn)行環(huán)境將依次到下述可能的位置尋找并載入該字節(jié)碼文件 Test.class:

.p1Test.class

C:jdk6libp1Test.class

D:exp1Test.class

“.”代表當(dāng)前路徑坏瘩,如果在第一個(gè)路徑下就找到了所需的類文件漠魏,則停止搜索。否則依次搜索后續(xù)路徑哪自,如果在所有的路徑中都未找到所需的類文件禁熏,則編譯或運(yùn)行出錯瞧毙。

3、訪問修飾符

Java 語言允許對類中定義的各種屬性和方法進(jìn)行訪問控制宙彪,即規(guī)定不同的保護(hù)等級來限制對它們的使用释漆。為什么要這樣做?Java語言引入類似訪問控制機(jī)制的目的在于實(shí)現(xiàn)信息的封裝和隱藏灵汪。Java 語言為對類中的屬性和方法進(jìn)行有效地訪問控制享言,將它們分為四個(gè)等級:private、無修飾符荧琼、protected差牛、public。

變量和方法可以使用四個(gè)訪問級別中的任意一個(gè)修飾脐恩,類可以使用公共或無修飾級別修飾侦讨。

變量苟翻、方法或類有缺省(無修飾符)訪問性崇猫,如果它沒有顯式受保護(hù)修飾符作為它的聲明的一部分的話需忿。這種訪問性意味著,訪問可以來自任何方法涕烧,當(dāng)然這些方法只能在作為對象的同一個(gè)包中的成員類當(dāng)中擅这。

以修飾符 protected 標(biāo)記的變量或方法實(shí)際上比以缺省訪問控制標(biāo)記的更易訪問。一個(gè)protected 方法或變量可以從同一個(gè)包中的類當(dāng)中的任何方法進(jìn)行訪問痹扇,也可以是從任何子類中的任何方法進(jìn)行訪問溯香。當(dāng)它適合于一個(gè)類的子類但不是不相關(guān)的類時(shí)玫坛,就可以使用這種受保護(hù)訪問來訪問成員。

類定義

Java程序的基本單位是類炕吸,你建立類之后勉痴,就可用它來建立許多你需要的對象。Java把每一個(gè)可執(zhí)行的成分都變成類瀑罗。

類的定義形式如下:

<權(quán)限修飾符> [一般修飾符] class <類名> [extends 父類][implements 接口]{

[<屬性定義>]

[<構(gòu)造方法定義>]

[<方法定義>]

}

這里雏掠,類名要是合法的標(biāo)識符乡话。在類定義的開始與結(jié)束處必須使用花括號。你也許想建立一個(gè)矩形類蚊伞,那么可以用如下代碼:

public class Rectangle{

......//矩形具體的屬性和方法

}

構(gòu)造方法

類有一個(gè)特殊的成員方法叫作構(gòu)造方法时迫,它的作用是創(chuàng)建對象并初始化成員變量。在創(chuàng)建對象時(shí)癞揉,會自動調(diào)用類的構(gòu)造方法溺欧。

構(gòu)造方法定義規(guī)則

Java 中的構(gòu)造方法必須與該類具有相同的名字,并且沒有方法的返回類型(包括沒有void)芥牌。另外聂使,構(gòu)造方法一般都應(yīng)用 public 類型來說明柏靶,這樣才能在程序任意的位置創(chuàng)建類的實(shí)例--對象。

示例

下面是一個(gè) Rectangle 類的構(gòu)造方法痘昌,它帶有兩個(gè)參數(shù)炬转,分別表示矩形的長和寬:

public class Rectangle {

public Rectangle(int w, int h) {

width = w;

height = h;

}

public Rectangle() {

}

}

每個(gè)類至少有一個(gè)構(gòu)造方法。如果不寫一個(gè)構(gòu)造方法驻啤,Java 編程語言將提供一個(gè)默認(rèn)的测僵, 該構(gòu)造方法沒有參數(shù)捍靠,而且方法體為空。

注意:如果一個(gè)類中已經(jīng)定義了構(gòu)造方法則系統(tǒng)不再提供默認(rèn)的構(gòu)造方法磁携。

析構(gòu)方法

當(dāng)垃圾回收器將要釋放無用對象的內(nèi)存時(shí)良风,先調(diào)用該對象的finalize()方法闷供。如果在程序終止前垃圾回收器始終沒有執(zhí)行垃圾回收操作歪脏,那么垃圾回收器將始終不會調(diào)用無用對象的finalize()方法粮呢。在Java的Object基類中提供了protected類型的finalize()方法,因此任何Java類都可以覆蓋finalize()方法豪硅,通常挺物,在析構(gòu)方法中進(jìn)行釋放對象占用的相關(guān)資源的操作识藤。

Java 虛擬機(jī)的垃圾回收操作對程序完全是透明的,因此程序無法預(yù)料某個(gè)無用對象的finalize()方法何時(shí)被調(diào)用赖草。如果一個(gè)程序只占用少量內(nèi)存剪个,沒有造成嚴(yán)重的內(nèi)存需求,垃圾回收器可能沒有釋放那些無用對象占用的內(nèi)存乎折,因此這些對象的finalize()方法還沒有被調(diào)用侵歇,程序就終止了惕虑。

程序即使顯式調(diào)用System.gc()或Runtime.gc()方法,也不能保證垃圾回收操作一定執(zhí)行健提,也就不能保證對象的finalize()方法一定被調(diào)用伟叛。

當(dāng)垃圾回收器在執(zhí)行finalize()方法的時(shí)候,如果出現(xiàn)了異常紊遵,垃圾回收器不會報(bào)告異常,程序繼續(xù)正常運(yùn)行匀奏。

@Override

protected void finalize(){

System.out.println("in finalize");

}

在 Java 編程里面攒射,一般不需要我們?nèi)懳鰳?gòu)方法恒水,這里只是了解一下就可以了饲齐。

成員變量

成員變量是指類的一些屬性定義捂人,標(biāo)志類的靜態(tài)特征,它的基本格式如下:

訪問修飾符 修飾符 類型 屬性名稱=初始值;

訪問修飾符:可以使用四種不同的訪問修飾符中的一種酸纲,包括public(公共的)瑟匆、protected(受保護(hù)的)愁溜,無修飾符和 private(私有的)。public 訪問修飾符表示屬性可以從任何其它代碼調(diào)用代承。private 表示屬性只可以由該類中的其它方法來調(diào)用渐扮。protected 將在以后的課程中討論墓律。

修飾符:是對屬性特性的描述,例如后面會學(xué)習(xí)到的:static玖像、final 等等。

類型:屬性的數(shù)據(jù)類型捐寥,可以是任意的類型握恳。

屬性名稱:任何合法標(biāo)識符

初始值:賦值給屬性的初始值。如果不設(shè)置崇裁,那么會自動進(jìn)行初始化束昵,基本類型使用缺省值锹雏,對象類型自動初始化為 null。

成員變量有時(shí)候也被稱為屬性轻绞、實(shí)例變量佣耐、域兼砖,它們經(jīng)常被互換使用。

最后掖鱼,想學(xué)習(xí)JAVA的小伙伴們然走!

我自己是一個(gè)從事了6年的Java全棧工程師,最近整理了一套適合2019年學(xué)習(xí)的Java\大數(shù)據(jù)資料戏挡,從基礎(chǔ)的Java芍瑞、大數(shù)據(jù)面向?qū)ο蟮竭M(jìn)階的框架知識都有整理哦,可以來我的主頁免費(fèi)領(lǐng)取哦褐墅。

java學(xué)習(xí)資料

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拆檬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子妥凳,更是在濱河造成了極大的恐慌竟贯,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,029評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屑那,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)持际,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評論 3 385
  • 文/潘曉璐 我一進(jìn)店門沃琅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蜘欲,你說我怎么就攤上這事益眉。” “怎么了姥份?”我有些...
    開封第一講書人閱讀 157,570評論 0 348
  • 文/不壞的土叔 我叫張陵郭脂,是天一觀的道長。 經(jīng)常有香客問我澈歉,道長展鸡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,535評論 1 284
  • 正文 為了忘掉前任闷祥,我火速辦了婚禮娱颊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘凯砍。我一直安慰自己,他們只是感情好拴竹,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,650評論 6 386
  • 文/花漫 我一把揭開白布悟衩。 她就那樣靜靜地躺著,像睡著了一般栓拜。 火紅的嫁衣襯著肌膚如雪座泳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,850評論 1 290
  • 那天幕与,我揣著相機(jī)與錄音挑势,去河邊找鬼。 笑死啦鸣,一個(gè)胖子當(dāng)著我的面吹牛潮饱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播诫给,決...
    沈念sama閱讀 39,006評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼香拉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了中狂?” 一聲冷哼從身側(cè)響起凫碌,我...
    開封第一講書人閱讀 37,747評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胃榕,沒想到半個(gè)月后盛险,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,207評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,536評論 2 327
  • 正文 我和宋清朗相戀三年苦掘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了泉褐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,683評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鸟蜡,死狀恐怖膜赃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情揉忘,我是刑警寧澤跳座,帶...
    沈念sama閱讀 34,342評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站泣矛,受9級特大地震影響疲眷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜您朽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,964評論 3 315
  • 文/蒙蒙 一狂丝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧哗总,春花似錦几颜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至涮母,卻和暖如春谆趾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背叛本。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評論 1 266
  • 我被黑心中介騙來泰國打工沪蓬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人来候。 一個(gè)月前我還...
    沈念sama閱讀 46,401評論 2 360
  • 正文 我出身青樓跷叉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吠勘。 傳聞我的和親對象是個(gè)殘疾皇子性芬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,566評論 2 349

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

  • import語句 為了能夠使用某一個(gè)包的成員,我們需要在 Java 程序中明確導(dǎo)入該包剧防。使用“import”語句可...
    小宇java閱讀 252評論 0 0
  • 面向?qū)ο笾饕槍γ嫦蜻^程植锉。 面向過程的基本單元是函數(shù)。 什么是對象:EVERYTHING IS OBJECT(萬物...
    sinpi閱讀 1,046評論 0 4
  • 1.import static是Java 5增加的功能,就是將Import類中的靜態(tài)方法峭拘,可以作為本類的靜態(tài)方法來...
    XLsn0w閱讀 1,217評論 0 2
  • 1俊庇、.java源文件: 一個(gè)以”.java“為后綴的源文件:只能有一個(gè)與文件名相同的類狮暑,可以包含其他類。 2辉饱、類方...
    Hughman閱讀 1,452評論 1 9
  • 一般電腦上安裝的Ubuntu是Unity桌面搬男,但是17年Ubuntu宣布放棄開發(fā)Unity,默認(rèn)桌面回歸GNOME...
    我是來捕魚的閱讀 2,596評論 0 0