• <rp id="wfxtb"><acronym id="wfxtb"></acronym></rp><em id="wfxtb"></em><dd id="wfxtb"><big id="wfxtb"><video id="wfxtb"></video></big></dd>
  • <rp id="wfxtb"></rp>

    <mark id="wfxtb"><center id="wfxtb"></center></mark>

      <rp id="wfxtb"><span id="wfxtb"><u id="wfxtb"></u></span></rp>

      <rp id="wfxtb"><object id="wfxtb"></object></rp>

      注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! 打開購物車 查看留言付款方式聯系我們
      初中電子 單片機教材一 單片機教材二
      搜索上次看見的商品或文章:
      商品名、介紹 文章名、內容
      首頁 電子入門 學單片機 免費資源 下載中心 商品列表 象棋在線 在線繪圖 加盟五一 加入收藏 設為首頁
      本站推薦:
      JAVA教程 第三講 Java語言中的面向對象特性(3)
      文章長度[] 加入時間[2007/5/3] 更新時間[2025/5/13 4:44:03] 級別[0] [評論] [收藏]
      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
      91嫩草黄片动漫版