版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、java基礎主要內容包的使用對象的構造與銷毀構造函數(shù)訪問控制的權限static,finalpackage語句為便于管理大型軟件系統(tǒng)中數(shù)目眾多的類,解決類的命名沖突問題,Java引入包(package)機制,提供類的多重類命名空間。 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 |*);應用舉例: import p1.Test; /import p1.*;public class TestPackagepublic static void main(String args) Test t = new Test(); /Test類在p1包中定義 t.display(); impo
3、rt 語句對于 import java.io.*;將按照路徑: javaio 來查找所需的外部類。堆和棧內存中的兩種區(qū)域堆(heap)棧(stack)由JVM進行分配堆和棧棧方法調用和局部變量堆運行的時候分配所有的對象實例變量堆和棧Person p = new Person();構造函數(shù)引用構造函數(shù)構造函數(shù)的作用在被賦值給引用之前調用介入new 的過程完成初始化構造方法功能:創(chuàng)建其所屬類型的一個新的對象。語法格式: () 舉例:class Person int age;Person() age = 18; Person(int i) age = i; void setAge(int i) ag
4、e = i; 默認的構造方法Java語言中,每個類都至少有一個構造方法;如果類的定義者沒有顯式的定義任何構造方法,系統(tǒng)將自動提供一個默認的構造方法:默認構造方法沒有參數(shù)默認構造方法沒有方法體Java類中,一旦類的定義者顯式定義了一個或多個構造方法,系統(tǒng)將不在提供默認的構造方法;默認的構造方法類的定義:class Person int age; void setAge(int w) age = w; 等價于: class Person int age Person() void setAge(int w) age = w; 默認的構造方法應用舉例:class Test public static
5、 void main(String args) Person d = new Person() ; d.setAge(120); 構造方法重載構造方法重載舉例: public class Personpublic Person(String name, int age, String s) public Person(String name, int age) public Person(String name, String s) 構造方法重載,參數(shù)列表必須不同可以在構造方法的第一行使用this關鍵字調用其它(重載的)構造方法構造方法重載舉例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); 調用父類構造方法在子類的構造方法中可使用super(argument_list)語句調用父類的構造方法如果子類的構造方法中沒有顯示地調用父類構造方法,則系統(tǒng)默認調用父類無參數(shù)的構造方法如果子類構造方法中既未顯式調用父類構造方法,而父類中又沒有無參的構造方法,則編譯出錯*調用父類構造方法舉例 (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 調用父類構造方法舉例 (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) / 編譯出錯: no super()13 school = s;14 15 引用創(chuàng)建的對象Person p = new Person();引用類型對象的構造和初始化為引用類型變量分配引用空間 MyDate m; 創(chuàng)建新對象-首先為新對象分配內存空間,并進行屬性(實例變量)的默認初始化 new MyDate(22, 9, 2001);nu
10、llnullm000daymonthyearm對象的構造和初始化Java引用類型成員變量默認初始化原則成員變量類型 取值 byte0 short0 int 0 long0L charu0000 float0.0F double0.0D booleanfalse 所有引用類型null 對象的構造和初始化進行屬性(成員變量)的顯式初始化,顯式初始化取值來自于類的定義中屬性聲明部分 int day = 12;int month = 6;int year = 1900;nullm1261900daymonthyear對象的構造和初始化(4)執(zhí)行構造方法Mydate(int y, int m, int
11、d) year = y; month = m; day = d; nullm2292001daymonthyear對象的構造和初始化為引用類型變量m賦值m = new MyDate(22, 9, 2001);0 x3a478bm2292001daymonthyear0 x3a478b對象中的屬性和方法對象中屬性和方法的可見度可見度訪問修飾符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:任何包中的類都可以訪問該類默認值:同一個包中的類可以訪問該類成員的訪問修飾符private:只對本身類可見public:對一切類可見protected:對所有子類和同一包中的類可見默認值:對同
14、一包中的類可見注:訪問成員的前提是首先能訪問成員所屬的類關鍵字static如果有些類一直在執(zhí)行相同的動作則沒有必要每次生成對象StaticMath.random();關鍵字static在Java類中聲明變量、方法和內部類時,可使用關鍵字static做為修飾符。static標記的變量或方法由整個類(所有實例)共享,如訪問控制權限允許,可不必創(chuàng)建該類對象而直接用類名加.調用。static成員也稱類成員或靜態(tài)成員,如:類屬性、類方法、靜態(tài)方法等。靜態(tài)方法應用舉例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語句塊僅在其所屬的類被載入時執(zhí)行一次st
16、atic塊通常用于初始化static (類)屬性class Person public static int total;static total = 100;/為total賦初值 /其它屬性或方法聲明 staticstatic標記的變量或方法由整個類(所有實例)共享實例變量:每個實例一個靜態(tài)變量:每個類一個關鍵字final在Java中聲明類、屬性和方法時,可使用關鍵字final來修飾。final標記的類不能被繼承。final標記的方法不能被子類重寫。關鍵字finalfinal標記的變量(成員變量或局部變量)即成為常量,只能賦值一次。final標記的成員變量必須在聲明的同時或在每個構造方法中顯式賦值,然后才能使用關鍵字final應用舉例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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024中國智慧城市AIOT應用
- 關注民生加強公共安全構建和諧社會
- 初級會計經濟法基礎-初級會計《經濟法基礎》模擬試卷320
- 排煙基礎知識
- 基于手部姿態(tài)估計和手形重建的虛擬手構建及在沉浸式實驗室的應用
- 二零二五年度跨境電商招商代理合同范本3篇
- 二零二五版無房產房產拆除與重建安置補償及評估及評估及評估及評估合同范本3篇
- 二零二五版消防樓梯專用材料供應及施工合同3篇
- 二零二五年度個人住宅防水工程結算合同2篇
- 二零二五年度地產項目開發(fā)委托管理合同范本3篇
- 競選市級三好學生PPT
- 2024屆甘肅省蘭州市五十一中生物高一上期末檢測模擬試題含解析
- 高標準農田建設上圖入庫(技術培訓)
- 火災隱患整改登記表
- 天津華寧KTC101說明書
- 【智慧校園】-智慧校園系統(tǒng)方案
- 外研版高中新教材英語單詞表(必修一)
- 縣道及以上公路保潔考核檢查評分表
- 高中物理必修一第六節(jié)共點力的平衡條件及其應用課件
- 2020版曼昆版宏觀經濟學(第十版)課件第3章
- 醫(yī)院感染管理組織架構圖
評論
0/150
提交評論