freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java語言基礎(chǔ)培訓材料(參考版)

2025-02-25 01:03本頁面
  

【正文】 %CLASSPAT。 …. } set CLASSPATH=.。 public class myc{…} javac –d d:\ 會在指定目錄下建包 import mypk.* 。 ? 解釋器取出包名,將小數(shù)點換成斜杠,產(chǎn)生以CLASSPATH目錄為起點的查找路徑。 從包中加載類 ? 當程序需要建立一個類的對象,或是第一次訪問類的靜態(tài)成員時,會動態(tài)加載類文件。 該語句引入整個 utility 類庫(標準 Java庫的一部分) ? 例: import 。 ? import語句必須出現(xiàn)在所有類定義之前。 使用其他包中的類 ? import語句將指定包中的類引入當前的名字空間,即告訴編譯到哪去找程序中使用的類。 ? 無名包中 的類是為了局部應用。 ? 在一個編譯單元中,只能有一個 package語句,且為第一個語句。 package 包名 。包名一般全小寫(類名第一個字母大寫) 。 ? 包名本身又對應一個目錄(用一個目錄表示)。 classpath 指定搜尋包的路徑。 ? 包用于類的名字空間管理。 ? 在一個 Java程序運行過程中,某些類會從 inter上自動下載,而用戶并不知曉。 (不象其它語言最終生成一個 .exe的可執(zhí)行文件) 類的名字空間 ? 所有類成員的名字都是相互隔離的。 ? 經(jīng)過編譯,編譯單元中的每個類都產(chǎn)生一個 .class文件。 ? 一個編譯單元中只能有一個 public類,該類名與文件名相同。 ? 利用包來管理類,可實現(xiàn)類的共享與復用(類庫)。一般不要求處于同一個包中的類有明確的相互關(guān)系,如包含、繼承等等。 ? Java利用包來組織相關(guān)的類,并控制訪問權(quán)限。 ? final 域不能被修改。 ? final ? final類不能被繼承。 ? 調(diào)用該類的可見靜態(tài)方法,訪問該類的可見靜態(tài)屬性。 ? 對象名 .方法名 方法調(diào)用又稱“消息傳遞”,實際上就是給指定對象發(fā)送消息:告訴它做什么,向它要信息(方法的返回值)。 小結(jié) —類與對象 ? 類名 .域名 靜態(tài)域,在類的空間里,是該類對象共享的單元 ? 類名 .方法名 靜態(tài)方法 — 類方法的調(diào)用 ? 類方法及域也可以用對象名調(diào)用,但最好用類名 ? 對象名 .屬性名 實例變量 。 ? 共享的數(shù)據(jù)和方法: ? 類屬性 — 在同一類的實例中共享數(shù)據(jù)(該數(shù)據(jù)不屬于一個對象,而屬于一個類)。 小結(jié) —類與對象 ? 面向?qū)ο蟮臄?shù)據(jù)和方法: ? 一個類的對象雖然具有相同的屬性,但對象卻各不相同(屬性值不同)。 類的初始化 靜態(tài)初始化器 ? 由關(guān)鍵字 static引導的一對大括號括起的語句組 。 ? 如果 main方法要調(diào)用本類的其它方法: ? 將這些方法設(shè)計成靜態(tài)方法, ? 創(chuàng)建對象,使用對象方法。 } static String to_char(double x) { return (x)。 String s = to_char()。 ? 類方法中沒有 this值。 ? 類方法中不能訪問實例變量,而只能訪問類變量(static方法 — static域)和自己的方法參數(shù)。調(diào)用這個方法時,應該使用類名做前綴,而不是某一個具體的對象名。 } public class test { public void m() { int m = 。 類變量(靜態(tài)變量) ? 非 private 的靜態(tài)變量無須創(chuàng)建實例就可以從類的外部訪問。 serial = counter 。 //成員變量 private static int counter = 0 。 ? 跟蹤創(chuàng)建的實例數(shù)。 static final int k=10 。 class ex { int i 。 類變量(靜態(tài)變量) ? 類變量 ——為類的各實例共享的變量。 ? 如果編譯允許,運行時還要看實際的情況。 (())。 Employee e = (Employee)m 。 } else { … //employee} } 實例類型轉(zhuǎn)換規(guī)則 ? 按類層次向上轉(zhuǎn)換( cast upward)總是允許的,且不用轉(zhuǎn)換,只需直接賦值即可。 =―d02‖ 。 () 。 ? 多態(tài)參數(shù)(接收通配對象) class Employee { static float findTax(Employee e){ …} } Manager m = new Manager()。 staff[0] = new Manager() 。但實際對象決定訪問的屬性和調(diào)用的方法。 () ; ? 子類具有父類的所有方法和屬性,任何對于父類合法的操作對于子類也是合法的。 ? () 。 Employee e1 = new Manager(…) 。 方法重載 /方法覆蓋 /域隱藏 ? 方法的覆蓋與方法重載的區(qū)別 ? 重載:一個類中,同名方法(參數(shù)不同) ? 覆蓋:子類對父類方法的覆蓋(不同類的同名方法) ? 方法的覆蓋與域的隱藏的區(qū)別: ? 子類隱藏父類的域只是使之不可見,父類的同名域在子類對象中仍然占有自己獨立的內(nèi)存空間; ? 而子類方法對父類同名方法的覆蓋將清除父類方法占用的內(nèi)存,從而使父類方法在子類對象中不復存在。 Integer i1 = new Integer(123) 。 //隱含調(diào)用 toString() ? 很多類覆蓋了該方法。返回對象類型及引用地址。 else (―false‖) 。 String s2 = new String(―wang‖) 。 else (―false‖) 。 Myclass mc2 = new Myclass(―wang‖)。} } 而類 String Date File Integer… 都覆蓋了 equals方法, 當對象的類型和內(nèi)容相同時為真。 double getBalance() boolean performConnection(long ,int pw) final D200_Card類: boolean performDial() 覆蓋 實現(xiàn)抽象方法 double getBalance() 覆蓋 實現(xiàn)細節(jié)不同 boolean performConnection(long ,int pw) 系統(tǒng)類中方法覆蓋例 ? 方法 1: public boolean equals(Object obj) 比較引用型變量(引用同一個對象時為真) class Myclass { //繼承了 equals方法 String m_s 。 方法的覆蓋 abstract PhoneCard類: abstract boolean performDial()。不同的子類可以重新定義 該方法。 ? 調(diào)用父類被覆蓋的方法 — 方法覆蓋 抽象方法的實現(xiàn) ? PhoneCard類抽象了一個其子類共有的方法: abstract boolean performDial()。 方法覆蓋 (overriding) ? 在面向?qū)ο蟮某绦蛟O(shè)計中,子類可以把從父類那里繼承來的某個方法改寫,形成同父類方法同名、解決的問題也相似、但具體實現(xiàn)和功能卻不盡一致的新方法。只能繼承但不能修改。 抽象類 一般類 抽象方法 ? X 非抽象方法 ? ? 最終方法 ? final 最終方法 ? 不能被當前類的子類重新定義的方法。 abstract void performDial () 。 抽象類與最終類 abstract class PhoneCard {……} class Number_PhoneCard extends PhoneCard {……} final class D200_Card extends Number_PhoneCard {…….} ? 抽象類經(jīng)常要包含某些抽象方法(方法的具體實現(xiàn)要在子類中實現(xiàn))。 ? 在程序中不能用抽象類作為模板來創(chuàng)建對象。 ? 抽象類實際上是所有子類的公共域和公共方法的集合,而每一個子類則是父類的特殊化,是對公共域和方法在功能、內(nèi)涵方面的擴展和延伸。 ? 執(zhí)行每一層的類的構(gòu)造方法(由于顯式或隱式調(diào)用) 。 ? 若子類 的構(gòu)造方法中沒有 super(…)語句,系統(tǒng)將隱含調(diào)用父類無參數(shù)構(gòu)造方法。 ? 為了保證安全性,在子類的所有構(gòu)造方法中,必須首先調(diào)用一個父類的構(gòu)造方法, ? 子類可在自己的構(gòu)造方法中 使用 super(…) 來調(diào)用父類帶參數(shù)的構(gòu)造方法。} } 調(diào)用父類的構(gòu)造方法 ? 子類繼承父類所有的屬性和方法(非 private),但不繼承構(gòu)造方法。 } } class Direator extends Manager { String telephone ,department 。 } } class Manager extends Employee { float allowance 。 float salary 。 繼承 屬性 : name age salary 方法 : upSalary getInfo Employee Engineer Manager Secretary Director 屬性 : allowance 方法 : setAllowance getInfo 屬性 : telephone department 方法 : setTel getInfo 增加屬性和方法 class Employee { String name 。(隱含為 Object類。 ? 繼承實際上是存在于面向?qū)ο蟪绦蛑械膬蓚€類之間的一種關(guān)系。 繼承 ? 繼承是一種由已有的類創(chuàng)建新類的機制,是面向?qū)ο蟪绦蛟O(shè)計的基石之一。 ? 在一個構(gòu)造方法中,不能象調(diào)用一般方法那樣調(diào)用另一個構(gòu)造方法。 } Employee( String n , int a ) { this(n , a , 300 ) 。 (1)。 a=60) age = a 。 if(a=18 amp。 private MyTime mt = new MyTime() 。 ? 執(zhí)行顯式初始化 class a { private int x=10。 } salary = s。 else { (illegal age)。amp。 ? 一旦定義了一個構(gòu)造方法,隱含構(gòu)造方法失效! 定義構(gòu)造方法 Employee(String n, int a,float s){ name = n 。 ? 構(gòu)造方法沒有返回類型說明。 ? new運算符為對象分配內(nèi)存空間,并返回對該對象的一個引用。 方法的重載 ? 例:(相同類型的工作,不同的參數(shù)) public void println(int i) public void println(float f) public void println(String s) ? Integer類 : String toString() static String toString(int i) static String toString(int i , int radix) ? Double 類: String toString() static String toString(double d) 構(gòu)造方法 ? 實例化對象 ——初始化對象 類名 對象引用名 = new 構(gòu)造方法(); Employee emp = new Employee(…)。 ? 返回類型可以不同,但不是重載的標志。 ? 方法名必須相同( 是同一類中定義同名方法的情況) 。 } } Overloding 重載方法名 ? 用同一個名字來表示不同的方法。 } } public class a { public static void main(String[] args) { Leaf x = new Leaf()。 r
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1