初級java教程17_22_第1頁
初級java教程17_22_第2頁
初級java教程17_22_第3頁
初級java教程17_22_第4頁
初級java教程17_22_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、this、super,This 在類中使用this主要是調(diào)用本類的屬性和方法。 (用于調(diào)用構(gòu)造函數(shù)時,必須在方法中的第一位) Super 調(diào)用父類中屬性和方法(用于調(diào)用構(gòu)造函數(shù)時, 必須在方法中的第一位),靜態(tài)的方法中無法使用非靜態(tài)的變量 處理方法:將非靜態(tài)的變量放在非靜態(tài)的方法中,在類的聲明時,可以使用final來進行修飾,主要對類 繼承時的進行約束。 final標記的類不能被繼承 final標記的方法不能被子類重寫(單態(tài)模式) 使用final標記的變量就是常量,只能賦值一次。 instanceof(運算符) 用語比較對象是否屬于類。例如: p1 instanceof person /p1為

2、對象名,person為類名,final、instanceof,用=比較內(nèi)存,用equals比較值,抽象類,Java中可以定義一些沒有方法體的函數(shù),函數(shù)體的實現(xiàn) 主要在繼承后進行覆蓋,這就是抽象方法,包含抽象方 法的類就是抽象類。 使用abstract修飾抽象類和方法。只要有抽象方法的類 必須為抽象類。,沒有,就是沒有方法體,有,中沒有內(nèi)容,就是空方法體,接口,接口是特殊的抽象類,在其中的方法全部都必須 是抽象方法,這樣的類就是接口。 使用interface修飾的類。,接口的定義 interface 接口名 接口中的變量必須有初始值 implements 來實現(xiàn)接口,代替extends 對接口中

3、的方法重寫時,重寫的方法必須是public方法,Java中的包,它是一系列類和接口的集合 由于java編譯器為每個類生成一個字節(jié)碼文件,且文 件名與類名相同,因此同名的類有可能發(fā)生沖突。 為了解決這一問題,java提供包來管理類名空間。因 為一個包中的符號名如類名,接口名等不能重名;不 同的包之間可以允許有同名的符號出現(xiàn)。 利用它可以實現(xiàn)將程序中的相關類和接口或子包組合 在一起,達到分塊只目的,從而形成一個獨立的外編 譯單元。 一個包即為一個小類型庫。,Java中的包,其實就可以理解為文件夾,包的定義,Package 包名; 如: package myPackage; Package語句作為j

4、ava源文件的第一條語句,指明該文件 中定義的類所在的包;若缺省該語句,則指定為無名包。,包的引用,可以在一個包中使用另一個包中所定義的類和接 口,這可由import語句來實現(xiàn)。 如引用包中的指定名稱類:import 包名.類名; 或引用包中的可用的類或接口:import 包名.*;,import java.applet.*; import java.awt.*; import java.awt.event.*; public class ButtonActionEvent extends Applet implements ActionListener /實現(xiàn)接口 TextField tex

5、t=new TextField(“輸入的文字”); ,包的補充,包名稱與目錄之間的關系 package語句中,用.來指明目錄的層次 特殊的包:java.lang 由于它是所有的java程序都需要的包,提供java的核心服務,比如:Object、String、 Thread類,這些類是經(jīng)常使用到的,lang軟件包包含了訪問系統(tǒng)資源的類,如System、 Runtime等。因而總是被java編譯器自動引入到本程序所在的包中,故不必再采用import引 入它。 import java.lang.*; /錯誤,編程習慣:類的第一個字母大寫,方法的第二個單詞的第一個字母大寫,常量的 字母全部大寫,jav

6、a.lang 核心包 java.io 輸入輸出包 java.util 工具包 網(wǎng)絡包 java.awt 抽象窗口工具包 java.applet 小程序包 java.swing 新圖形界面庫,類的編程深入,1、類的定義形式 方式一:public class 類名 /未指明父類名(缺省為Object類); 方式二:public class 類名 extends 父類名 /繼承與派生形式的類定義(并指明父類名); 方式三:public class 類名 extends 父類名 implements 接口名 /繼承與派生并實現(xiàn)某一接口形式的類定義; ,2、類的類型的選項 (1)public公有類(該類

7、可以被本包中或其他 包中類成員函數(shù)使用) (2)abstract抽象類(沒有具體對象的概念類) (3)final定止類(或稱為終極類。它不允許再 被繼承與派生) (4)缺省末指定(該類只能被其所在的包中所 有的類使用),類的訪問控制,訪問規(guī)則 同一個類中 同一個包中 不同包中的子類 不同包中的非子類(任意類) private default protected public ,public:任何其他類、對象只要可以看到這個類的話,那么它就可以存取變量的 數(shù)據(jù),或使用方法。 protected:同一類,同一包可以使用。不同包的類要使用,必須是該類的子類。 private:不允許任何其他類存取和調(diào)

8、用。 friendly(default,前邊沒有修飾字的情況):在同一程序包中出現(xiàn)的類才可 以直接使用它的數(shù)據(jù)和方法。,成員數(shù)據(jù)的定義,(1)成員數(shù)據(jù)(屬性)定義的一般格式 【變量修飾字】變量數(shù)據(jù)類型 變量名1,變量名2【=變量初值】; 【public | protected | private 】【static】【final】 變量修飾字 (2)示例 訪問控制 變量種類 數(shù)據(jù)類型 變量名 ; public static int val ; (3)成員數(shù)據(jù)的種類 static靜態(tài)變量 final成員,static 靜態(tài)關鍵字,靜態(tài)變量 是類的變量,可以不必再創(chuàng)建對象時就可以訪問它。 靜態(tài)方法

9、是類的成員方法,可以在沒有創(chuàng)建對象時使用類對它進行訪問 靜態(tài)代碼塊 程序中可以出現(xiàn)不包含在方法中的靜態(tài)代碼塊,只要類載入就被 招行,并且只運行一次,通常使用該特性進行類中屬性的初始化。,public class Abc static int x=3; static int y=5; static void sum() int m; m=x+y; System.out.println(m); static int a=4,b=7,c; c=a+b; System.out.println(“a+b=”+c); class Test public static void main(String ar

10、gs) int a=10; int b=Abc.x+a; System.out.println(b); Abc.sum(); ,靜態(tài)程序塊,靜態(tài)變量,靜態(tài)方法(函數(shù)),x、y必須是靜態(tài)的(靜態(tài)方法不能調(diào)用非靜態(tài)變量),1、靜態(tài)變量和靜態(tài)函數(shù)不用被實例化,可以直接調(diào)用。 2、在調(diào)用Abc類時,首先運行靜態(tài)程序塊,即是有構(gòu) 造函數(shù),也是先運行程序塊,然后再運行構(gòu)造函數(shù) 且只運行一次。,程序運行結(jié)果: a+b=11 13 8,Object類,Object類是類體系結(jié)構(gòu)的根。Java系統(tǒng)中的每個類 都是Object類的直接或者間接的子類。此類定義了 所有對象都具備的基本狀態(tài)和行為。 equals E.

11、equals(F) 對象E與對象F相比較; toString,類和對象的多態(tài), 多態(tài)就是類與對象的多種表示方式,但愿意是不會 改變的,比如說水的多態(tài)形式就是冰、水和氣。,異常技術,課程目標, 異常的表現(xiàn)形式 try 、catch 和 finally語句 異常的拋出 用戶自定義異常,異常,(1)錯誤處理 在進行程序設計時,錯誤的產(chǎn)生式不可避免的。這 是任何程序設計語言都要解決的問題。 如何處理錯誤? 把錯誤交給誰去處理? 程序又該如何從錯誤中恢復? (2)什么是異常 程序在運行過程中所發(fā)生的錯誤事件(如數(shù)組越界、 文件操作時未找到文件、除法溢出等) 而這些錯誤在設計時不能準確地識別出但又可能發(fā)生

12、 或者不會發(fā)生。,(3)正確理解程序設計中的三種錯誤 語法錯誤(編譯時的錯誤); 邏輯錯誤(運行時的錯誤); 異常錯誤(運行時的錯誤但取決于執(zhí)行環(huán)境)。 (4)異常的特點(以“人身保險”為例加以說明異常的特性) 程序在運行過程中發(fā)生的錯誤事件 程序員在編程時物發(fā)放預知它是否會產(chǎn)生 產(chǎn)生與否取決于用戶當時的執(zhí)行環(huán)境,異常結(jié)構(gòu), 在java中所有的異常都是throwable的子類,它本身 又派生于Object類。 throwable中又分為Error和Exception異常,Error用 于運行時系統(tǒng)本身的錯誤,如讀一個文件但硬盤的 相應分區(qū)已經(jīng)不存在等,這些不是程序可以控制的 錯誤。 Excep

13、tion可用于捕獲異常,也可以創(chuàng)建異常。 只有throwable,Error,Exception或通過它們創(chuàng)建 的類的實例,JVM才識別為異常,異常處理機制,(1)異常處理機制 主要體現(xiàn)在“拋出異?!辈ⅰ安东@異?!边@兩個層次。 (2)拋出異常 當程序執(zhí)行過程中產(chǎn)生異常時,運行系統(tǒng)將拋出異常 類對象(它代表某一異常類型的錯誤事件)。 (3)捕獲異常 用戶程序或運行系統(tǒng)可以捕獲該異常類對象(在函數(shù) 的調(diào)用棧中查找能處理此異常事件的程序為止)并相 應地給出處理的方法(代碼)。 (4)如何捕獲異常 采用try、catch、finally語句塊。,異常的一般形式,try 監(jiān)視可能有異常的代碼 catch (Exception1 ex1) 在try中引發(fā)的異常,在此處進行處理 c

溫馨提示

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

評論

0/150

提交評論