宏晶java基礎(chǔ)新第九課初始化包訪問修飾符_第1頁
宏晶java基礎(chǔ)新第九課初始化包訪問修飾符_第2頁
宏晶java基礎(chǔ)新第九課初始化包訪問修飾符_第3頁
宏晶java基礎(chǔ)新第九課初始化包訪問修飾符_第4頁
宏晶java基礎(chǔ)新第九課初始化包訪問修飾符_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Java基礎(chǔ)課程第九課 初始化,包,訪問修飾符靜態(tài)初始化在使用一個(gè)類前,虛擬機(jī)需要從外部加載這個(gè)類文件,加載完畢后,有一部分代碼會自動執(zhí)行class Tstatic/靜態(tài)初始化代碼塊,在類加載后執(zhí)行靜態(tài)初始化我們可以在靜態(tài)代碼塊中初始化類的靜態(tài)屬性class T static int dbURL; /連接數(shù)據(jù)庫的地址 static dbURL = ;/從文件中讀取數(shù)據(jù)庫地址,這樣可以在外部改變dbURL,而不用重新編譯java代碼; 因?yàn)槊總€(gè)工程一般只會連接到一個(gè)數(shù)據(jù)庫,數(shù)據(jù)庫地址跟對象無關(guān),所以這里定義為static類型靜態(tài)初始化如果A類依賴于B類,則先加載B類class A extends

2、 BstaticSystem.out.println(2); class BstaticSystem.out.println(1); new A();靜態(tài)初始化在程序的一次運(yùn)行過程中,類只會被加載一次,所以一個(gè)類的靜態(tài)代碼塊也不會執(zhí)行兩次class TstaticSystem.out.println(1);new T();new T();靜態(tài)初始化class TstaticSystem.out.println(1); T()System.out.println(2);new T(); /使用T類需要先加載T類,加載后會立刻執(zhí)行static代碼塊,創(chuàng)建對象時(shí)才會執(zhí)行構(gòu)造方法非靜態(tài)初始化在創(chuàng)建對象

3、時(shí)除構(gòu)造方法被執(zhí)行外還有一段代碼會自動執(zhí)行class T/初始化代碼塊,在執(zhí)行構(gòu)造方法內(nèi)的代碼前執(zhí)行new T();非靜態(tài)初始化class TSystem.out.println(1);T()System.out.println(0);new T(); /思考打印結(jié)果對象的初始化過程思考執(zhí)行new TT()時(shí)打印結(jié)果class Tstatic System.out.println(“T0”); System.out.println(“T1”); T() System.out.println(“T2”); class TT extends Tstatic System.out.println(“

4、TT0”); System.out.println(“TT1”); TT() System.out.println(“TT2”); 對象的初始化過程在調(diào)用類的構(gòu)造方法時(shí),系統(tǒng)總是默認(rèn)先調(diào)用其父類的構(gòu)造方法,直到到達(dá)Objectclass TT()class TT extends TTT()/系統(tǒng)先調(diào)用父類構(gòu)造方法, super()對象的初始化過程以下代碼是否存在錯(cuò)誤?class TT(int a)class TT extends T對象的初始化過程對象的初始化順序:從頂級父類開始加載,每個(gè)類加載后執(zhí)行其static代碼塊從頂級父類的構(gòu)造方法開始執(zhí)行,如果某個(gè)類有非靜態(tài)初始化代碼塊,先執(zhí)行這個(gè)代

5、碼塊再執(zhí)行構(gòu)造方法內(nèi)的語句。包包是類庫的組成單元, Java的類庫是由各種各樣功能包組成的.Java安裝目錄jrelibrt.jar就是java的類庫類和接口是包的組成元素, 編程人員可以把一組類和接口通過package關(guān)鍵字封裝在一個(gè)包中,從而實(shí)現(xiàn)了Java的命名空間。包聲明包在源文件的開始加上:package包名(要求全部小寫)(反域名制)package .sun;使用包中的類如使用不同包的類,必須加入import關(guān)鍵字引用的包必須在classpath環(huán)境變量中,如果不在,運(yùn)行時(shí)要用-classpath參數(shù)單獨(dú)指定.打包及編譯-示例package cn.terry;public class Testprivate int m;int n;protected int x;public int y;編譯及運(yùn)行 javac cnterryTest.java java cn.terry.Test注意當(dāng)前目錄必須為cn的父級目錄訪問修飾符修飾類public 可以跨包使用缺省 只允許在包中使用修飾成員(屬性、方法、內(nèi)部類(后面講解)publicprotected缺省private訪問

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論