注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! • 打開購物車 • 查看留言 • 付款方式 • 聯系我們 |
![]() |
首頁 | 電子入門 | 學單片機 | 免費資源 | 下載中心 | 商品列表 | 象棋在線 | 在線繪圖 | 加盟五一 | 加入收藏 | 設為首頁 |
選擇分類:當前分類——電腦編程 相關聯或者相類似的文章: 國產OS?中文CPU?(1213) JAVA教程 第一講 Java語言概述(2)(796) JAVA教程 第三講 Java語言中的面向對象特性(1)(785) vb的10個小技巧 (772) 學編程的人不能不看的好文章 (745) JAVASCRIPT簡介 (736) 絕對不知道你的瀏覽器還有這個功能!(722) JAVA對象入門第1章 對象入門(719) 給初學編程者的忠告 (702) JavaScript 對象與數組參考大全(650) JAVA教程 第三講 Java語言中的面向對象特性(2)(631) JAVA教程 第三講 Java語言中的面向對象特性(3)(587) VB開發Windows環境下的串行通信程序(560) SQL轉ACCESS解決自動編號問題(531) JAVA教程 Java語言基礎知識(452) JAVA教程 第二講 Java語言基礎知識(1)(364) DHTML參考手冊(一)(210) [精]5分鐘編寫一個ASP論壇(99) Cookies常用命令簡介(99) RegExp正則表達示用法(3) 首頁 前頁 后頁 尾頁 本站推薦: | JAVA教程 第三講 Java語言中的面向對象特性(3) JAVA教程 第三講 Java語言中的面向對象特性(3) ◇ 類java.lang.Object 類java.lang.Object處于java開發環境的類層次的根部,其它所有的類都是直接或間接地繼承了此類。該類定義了一些最基本的狀態和行為。下面,我們介紹一些常用的方法。 equals() :比較兩個對象(引用)是否相同。 getClass():返回對象運行時所對應的類的表示,從而可得到相應的信息。 toString():用來返回對象的字符串表示。 finalize():用于在垃圾收集前清除對象。 notify(),notifyAll(),wait():用于多線程處理中的同步。 3.2.4抽象類和接口 1. 抽象類 java語言中,用abstract 關鍵字來修飾一個類時,這個類叫做抽象類,用abstract 關鍵字來修飾一個方法時,這個方法叫做抽象方法。格式如下: abstract class abstractClass{ …} //抽象類 abstract returnType abstractMethod([paramlist]) //抽象方法 抽象類必須被繼承,抽象方法必須被重寫。抽象方法只需聲明,無需實現;抽象類不能被實例化,抽象類不一定要包含抽象方法。若類中包含了抽象方法,則該類必須被定義為抽象類。 2. 接口 接口是抽象類的一種,只包含常量和方法的定義,而沒有變量和方法的實現,且其方法都是抽象方法。它的用處體現在下面幾個方面: ◇ 通過接口實現不相關類的相同行為,而無需考慮這些類之間的關系。 ◇ 通過接口指明多個類需要實現的方法。 ◇ 通過接口了解對象的交互界面,而無需了解對象所對應的類。 1)接口的定義 接口的定義包括接口聲明和接口體。 接口聲明的格式如下: [public] interface interfaceName[extends listOfSuperInterface] { … } extends 子句與類聲明的extends子句基本相同,不同的是一個接口可有多個父接口,用逗號隔開,而一個類只能有一個父類。 接口體包括常量定義和方法定義 常量定義格式為:type NAME=value; 該常量被實現該接口的多個類共享; 具有public ,final, static的屬性。 方法體定義格式為:(具有 public和abstract屬性) returnType methodName([paramlist]); 2)接口的實現 在類的聲明中用implements子句來表示一個類使用某個接口,在類體中可以使用接口中定義的常量,而且必須實現接口中定義的所有方法。一個類可以實現多個接口,在implements子句中用逗號分開。 3) 接口類型的使用 接口作為一種引用類型來使用。任何實現該接口的類的實例都可以存儲在該接口類型的變量中,通過這些變量可以訪問類所實現的接口中的方法。 3.2.5 內部類 1. 內部類的定義和使用: 內部類是在一個類的內部嵌套定義的類,它可以是其它類的成員,也可以在一個語句塊的內部定義,還可以在表達式內部匿名定義。 內部類有如下特性: ◇ 一般用在定義它的類或語句塊之內,在外部引用它時必須給出完整的名稱.名字不能與包含它的類名相同。 ◇ 可以使用包含它的類的靜態和實例成員變量,也可以使用它所在方法的局部變量。 ◇ 可以定義為abstract。 ◇ 可以聲明為private或protected。 ◇ 若被聲明為static,就變成了頂層類,不能再使用局部變量。 ◇ 若想在Inner Class中聲明任何static成員,則該Inner Class必須聲明為static。 例3-8 是一個說明內部類如何使用的例子,其中,定義了兩個內部類:MouseMotionHandler和MouseEventHandler,分別用來處理鼠標移動事件和鼠標點按事件。 【例3-8】 import java.awt.*; import java.awt.event.*; public class TwoListenInner { private Frame f; private TextField tf; public static void main(String args[]) { TwoListenInner that=new TwoListenInner(); that.go(); } public void go() { f=new Frame("Two listeners example"); f.add("North",new Label("Click and drag the mouse")); tf=new TextField(30); f.add("South",tf); f.addMouseMotionListener(new MouseMotionHandler()); f.addMouseListener(new MouseEventHandler()); f.setSize(300,300); f.setVisible(true); } public class MouseMotionHandler extends MouseMotionAdapter { public void mouseDragged(MouseEvent e){ String s="Mouse dragging:X="+e.getX()+"Y="+e.getY(); tf.setText(s); } } public class MouseEventHandler extends MouseAdapter { public void mouseEntered(MouseEvent e){ String s="The mouse entered"; tf.setText(s); } public void mouseExited(MouseEvent e){ String s="The mouse left the building"; tf.setText(s); } } } 同學們可以運行一下這個程序,看一看它的運行結果。當你將鼠標移入frame時,文本框中會出現:"The mouse entered";當你在frame中拖曳鼠標時,文本框中會出現:"Mouse dragging:X=64 Y=117";當鼠標離開文本框時,文本框中出現:"The mouse left the building"。 2. 匿名類的定義和使用: 匿名類是一種特殊的內部類,它是在一個表達式內部包含一個完整的類定義。通過對例6-7中go()部分語句的修改,我們可以看到匿名類的使用情況。 public void go() { f=new Frame("Two listeners example"); f.add("North",new Label("Click and drag the mouse")); tf=new TextField(30); f.add("South",tf); f.addMouseMotionListener(new MouseMotionHandler(){ /*定義了一個匿名類,類名沒有顯式地給出,只是該類是 MouseMotionHandler類的子類*/ public void mouseDragged(MouseEvent e){ String s="Mouse dragging:X="+e.getX()+"Y ="+e.getY(); tf.setText(s); } }); f.addMouseListener(new MouseEventHandler()); f.setSize(300,300); f.setVisible(true); } 3. 內部類的優缺點: ◇ 優點:節省編譯后產生的字節碼文件的大小 ◇ 缺點:使程序結構不清楚 -black> java中的數據類型有簡單數據類型和復合數據類型兩種,其中簡單數據類型包括整數類型、浮點類型、字符類型和布爾類型;復合數據類型包含類、接口和數組。表達式是由運算符和操作數組成的符號序列,對一個表達式進行運算時,要按運算符的優先順序從高向低進行,同級的運算符則按從左到右的方向進行。條件語句、循環語句和跳轉語句是java中常用的控制語句。 數組是最簡單的復合數據類型,數組是有序數據的集合,數組中的每個元素具有相同的數據類型,可以用一個統一的數組名和下標來唯一地確定數組中的元素。Java中,對數組定義時并不為數組元素分配內存,只有初始化后,才為數組中的每一個元素分配空間。已定義的數組必須經過初始化后,才可以引用。數組的初始化分為靜態初始化和動態初始化兩種,其中對復合數據類型數組動態初始化時,必須經過兩步空間分配:首先,為數組開辟每個元素的引用空間;然后,再為每個數組元素開辟空間。Java中把字符串當作對象來處理, java.lang.String類提供了一系列操作字符串的方法,使得字符串的生成、訪問和修改等操作容易和規范。 【本講小結】 類是Java語言面向對象編程的基本元素,它定義了一個對象的結構和功能。 Java類中包含成員變量和成員方法。成員變量有兩種,用static 關鍵字修飾的變量為類變量,無static 修飾的變量為實例變量。相應地,成員方法也有兩種,用static 修飾的為類方法,無static修飾的為實例方法。實例方法不僅可以對當前對象的實例變量進行操作,也可以對類變量進行操作;但類方法只能訪問類變量。實例變量和實例方法必須由實例對象來調用,而類變量和類方法不僅可由實例對象來調用,還可由類名直接調用。Java通過在類定義的大括號里聲明變量來把數據封裝在一個類里,這里的變量稱為成員變量。為了解決類名可能相同的問題,java 中提供包來管理類名空間。 封裝性、繼承性和多態性是java語言中面向對象的三個特性。接口是java 語言中特有的數據類型,由于接口的存在,解決了java語言不支持多重繼承的問題。內部類是指在一個類的內部嵌套定義的類。 1、 本站不保證以上觀點正確,就算是本站原創作品,本站也不保證內容正確。 2、如果您擁有本文版權,并且不想在本站轉載,請書面通知本站立即刪除并且向您公開道歉! |
本站協議。
版權信息。
關于我們。
本站地圖。
營業執照。
發票說明。
付款方式。
聯系方式
深圳市寶安區西鄉五壹電子商行——粵ICP備16073394號-1;地址:深圳西鄉河西四坊183號;郵編:518102 E-mail:51dz$163.com($改為@);Tel:(0755)27947428 工作時間:9:30-12:00和13:30-17:30和18:30-20:30,無人接聽時可以再打手機13537585389 |