




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、java基礎(chǔ)主要內(nèi)容包的使用對(duì)象的構(gòu)造與銷毀構(gòu)造函數(shù)訪問控制的權(quán)限static,finalpackage語句為便于管理大型軟件系統(tǒng)中數(shù)目眾多的類,解決類的命名沖突問題,Java引入包(package)機(jī)制,提供類的多重類命名空間。 java io lang System String Objectpackage語句package語句作為Java源文件的第一條語句,指明該文件中定義的類所在的包。(若缺省該語句,則指定為無名包)。它的格式為:package pkg1.pkg2.pkg3;舉例:Test.javapackage p1;public class Test public void dis
2、play()System.out.println(in method display(); 用 . 來指明包(目錄)的層次;import語句為使用定義在不同包中的Java類,需用import語句來引入所需要的類。語法格式:import package1.package2. (classname |*);應(yīng)用舉例: import p1.Test; /import p1.*;public class TestPackagepublic static void main(String args) Test t = new Test(); /Test類在p1包中定義 t.display(); impo
3、rt 語句對(duì)于 import java.io.*;將按照路徑: javaio 來查找所需的外部類。堆和棧內(nèi)存中的兩種區(qū)域堆(heap)棧(stack)由JVM進(jìn)行分配堆和棧棧方法調(diào)用和局部變量堆運(yùn)行的時(shí)候分配所有的對(duì)象實(shí)例變量堆和棧Person p = new Person();構(gòu)造函數(shù)引用構(gòu)造函數(shù)構(gòu)造函數(shù)的作用在被賦值給引用之前調(diào)用介入new 的過程完成初始化構(gòu)造方法功能:創(chuàng)建其所屬類型的一個(gè)新的對(duì)象。語法格式: () 舉例:class Person int age;Person() age = 18; Person(int i) age = i; void setAge(int i) ag
4、e = i; 默認(rèn)的構(gòu)造方法Java語言中,每個(gè)類都至少有一個(gè)構(gòu)造方法;如果類的定義者沒有顯式的定義任何構(gòu)造方法,系統(tǒng)將自動(dòng)提供一個(gè)默認(rèn)的構(gòu)造方法:默認(rèn)構(gòu)造方法沒有參數(shù)默認(rèn)構(gòu)造方法沒有方法體Java類中,一旦類的定義者顯式定義了一個(gè)或多個(gè)構(gòu)造方法,系統(tǒng)將不在提供默認(rèn)的構(gòu)造方法;默認(rèn)的構(gòu)造方法類的定義:class Person int age; void setAge(int w) age = w; 等價(jià)于: class Person int age Person() void setAge(int w) age = w; 默認(rèn)的構(gòu)造方法應(yīng)用舉例:class Test public static
5、 void main(String args) Person d = new Person() ; d.setAge(120); 構(gòu)造方法重載構(gòu)造方法重載舉例: public class Personpublic Person(String name, int age, String s) public Person(String name, int age) public Person(String name, String s) 構(gòu)造方法重載,參數(shù)列表必須不同可以在構(gòu)造方法的第一行使用this關(guān)鍵字調(diào)用其它(重載的)構(gòu)造方法構(gòu)造方法重載舉例public class Person priva
6、te String name; private int age; private String sex; public Person(String name, int age, String s) = name; this.age = age; this.sex= s; public Person(String name, int age) this(name, age, “female”); public Person(String name, String d) this(name, 30, d); public Person(String name) this(nam
7、e, 30); 調(diào)用父類構(gòu)造方法在子類的構(gòu)造方法中可使用super(argument_list)語句調(diào)用父類的構(gòu)造方法如果子類的構(gòu)造方法中沒有顯示地調(diào)用父類構(gòu)造方法,則系統(tǒng)默認(rèn)調(diào)用父類無參數(shù)的構(gòu)造方法如果子類構(gòu)造方法中既未顯式調(diào)用父類構(gòu)造方法,而父類中又沒有無參的構(gòu)造方法,則編譯出錯(cuò)*調(diào)用父類構(gòu)造方法舉例 (1)1 public class Person 2 3 private String name;4 private int age;5 public Person(String name, int age) = name; this.age = age; 12 publ
8、ic Person(String name, int age) 13 this(name, age, null);14 15 public Person(String name) 16 this(name, 30, d);17 18 public Person(String name) 19 this(name, 30);2021 / 22 調(diào)用父類構(gòu)造方法舉例 (2)1 public class Student extends Person 2 private String school;34 public Student(String name, int age, String s) 5
9、super(name, age);6 school = s;7 8 public Student(String name, String s) 9 super(name);10 school = s;11 12 public Student(String s) / 編譯出錯(cuò): no super()13 school = s;14 15 引用創(chuàng)建的對(duì)象Person p = new Person();引用類型對(duì)象的構(gòu)造和初始化為引用類型變量分配引用空間 MyDate m; 創(chuàng)建新對(duì)象-首先為新對(duì)象分配內(nèi)存空間,并進(jìn)行屬性(實(shí)例變量)的默認(rèn)初始化 new MyDate(22, 9, 2001);nu
10、llnullm000daymonthyearm對(duì)象的構(gòu)造和初始化Java引用類型成員變量默認(rèn)初始化原則成員變量類型 取值 byte0 short0 int 0 long0L charu0000 float0.0F double0.0D booleanfalse 所有引用類型null 對(duì)象的構(gòu)造和初始化進(jìn)行屬性(成員變量)的顯式初始化,顯式初始化取值來自于類的定義中屬性聲明部分 int day = 12;int month = 6;int year = 1900;nullm1261900daymonthyear對(duì)象的構(gòu)造和初始化(4)執(zhí)行構(gòu)造方法Mydate(int y, int m, int
11、d) year = y; month = m; day = d; nullm2292001daymonthyear對(duì)象的構(gòu)造和初始化為引用類型變量m賦值m = new MyDate(22, 9, 2001);0 x3a478bm2292001daymonthyear0 x3a478b對(duì)象中的屬性和方法對(duì)象中屬性和方法的可見度可見度訪問修飾符Private DefaultProtectedpublic方法的訪問控制publicprotecteddefaultprivate同類同包子類通用性方法的訪問控制publicprotecteddefaultprivate同類同包子類通用性不同情形下訪問說明
12、符方法的訪問控制publicprotecteddefaultprivate同類同包子類通用性不同情形下訪問說明符方法的訪問控制publicprotecteddefaultprivate同類同包子類通用性不同情形下訪問說明符方法的訪問控制publicprotecteddefaultprivate同類同包子類通用性不同情形下訪問說明符訪問控制舉例(1)class Parent private int f1 = 1; int f2 = 2; protected int f3 = 3; public int f4 = 4; private void fm1() System.out.println(i
13、n fm1() f1= + f1); void fm2() System.out.println(in fm2() f2= + f2); protected void fm3() System.out.println(in fm3() f3= + f3); public void fm4() System.out.println(in fm4() f4= + f4);訪問修飾符類的訪問修飾符public:任何包中的類都可以訪問該類默認(rèn)值:同一個(gè)包中的類可以訪問該類成員的訪問修飾符private:只對(duì)本身類可見public:對(duì)一切類可見protected:對(duì)所有子類和同一包中的類可見默認(rèn)值:對(duì)同
14、一包中的類可見注:訪問成員的前提是首先能訪問成員所屬的類關(guān)鍵字static如果有些類一直在執(zhí)行相同的動(dòng)作則沒有必要每次生成對(duì)象StaticMath.random();關(guān)鍵字static在Java類中聲明變量、方法和內(nèi)部類時(shí),可使用關(guān)鍵字static做為修飾符。static標(biāo)記的變量或方法由整個(gè)類(所有實(shí)例)共享,如訪問控制權(quán)限允許,可不必創(chuàng)建該類對(duì)象而直接用類名加.調(diào)用。static成員也稱類成員或靜態(tài)成員,如:類屬性、類方法、靜態(tài)方法等。靜態(tài)方法應(yīng)用舉例public class Person private static int total = 0; public static int ge
15、tTotalPerson() return total; public Person() total+; public class TestPerson public static void main(String args) System.out.println(Number of total is +Person.getTotalPerson(); System.out.println( Number of total is + Person.getTotalPerson(); 靜態(tài)初始化在類的定義體中、方法的外部可包含static語句塊static語句塊僅在其所屬的類被載入時(shí)執(zhí)行一次st
16、atic塊通常用于初始化static (類)屬性class Person public static int total;static total = 100;/為total賦初值 /其它屬性或方法聲明 staticstatic標(biāo)記的變量或方法由整個(gè)類(所有實(shí)例)共享實(shí)例變量:每個(gè)實(shí)例一個(gè)靜態(tài)變量:每個(gè)類一個(gè)關(guān)鍵字final在Java中聲明類、屬性和方法時(shí),可使用關(guān)鍵字final來修飾。final標(biāo)記的類不能被繼承。final標(biāo)記的方法不能被子類重寫。關(guān)鍵字finalfinal標(biāo)記的變量(成員變量或局部變量)即成為常量,只能賦值一次。final標(biāo)記的成員變量必須在聲明的同時(shí)或在每個(gè)構(gòu)造方法中顯式賦值,然后才能使用關(guān)鍵字final應(yīng)用舉例import java.io.*;public final class Testpublic static int totalNumber= 5 ;public final int id;public Test()id = +totalNumber; public static void main(String args) Test t = new Test();System.out.println
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 煙盒手機(jī)攝影課程總結(jié)
- 高血壓性心臟病相關(guān)知識(shí)
- 廈門華天涉外職業(yè)技術(shù)學(xué)院《古代文學(xué)(上)》2023-2024學(xué)年第一學(xué)期期末試卷
- 圖木舒克職業(yè)技術(shù)學(xué)院《NoSQL數(shù)據(jù)庫(kù)系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川工業(yè)科技學(xué)院《版畫(木版、絲網(wǎng))》2023-2024學(xué)年第二學(xué)期期末試卷
- 西寧城市職業(yè)技術(shù)學(xué)院《數(shù)學(xué)分析方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州鐵路職業(yè)技術(shù)學(xué)院《英語創(chuàng)意寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 長(zhǎng)沙理工大學(xué)城南學(xué)院《中醫(yī)內(nèi)科學(xué)一》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025建筑施工勞務(wù)分包合同(范本)
- 《順豐速運(yùn)戰(zhàn)略案例》課件
- 工程造價(jià)咨詢服務(wù)投標(biāo)方案(專家團(tuán)隊(duì)版-)
- 小小科學(xué)家《物理》模擬試卷A(附答案)
- 幼兒園中班故事《龜兔賽跑》教學(xué)課件
- DB65∕4349-2021 棉漿粕和粘膠纖維工業(yè)水污染物排放標(biāo)準(zhǔn)
- 和利時(shí)DCS控制系統(tǒng)組態(tài)
- 《鐵道概論鐵路車站》PPT課件
- 高一信息技術(shù)第六章結(jié)構(gòu)圖
- 豆各莊鄉(xiāng)土地儲(chǔ)備住宅房屋騰退補(bǔ)償安置辦法
- 【課件】第9課 美在民間——中國(guó)民間美術(shù)——剪紙課件-高中美術(shù)人教版(2019)美術(shù)鑒賞
- 煤田勘探鉆孔工程質(zhì)量標(biāo)準(zhǔn)
- 保溫工三級(jí)安全教育試題及答案
評(píng)論
0/150
提交評(píng)論