java中的介面

來源:互聯網
上載者:User

標籤:預設   return   ati   log   產生   成員   extend   bst   運算子   

  介面(interface)可以想想為一個純的抽象類別。他允許建立者規定一個類的基本形式:方法名,自編量表,以及傳回型別,但是不規定方法體。介面也包含資料成員,但是他們都預設為static和final。即介面只提供細節,不提供實現細節。介面中所有方法都是抽象的,這些抽象方法通過實現這一介面的不同類來完成,使用過程中,介面類變數可以表示任何實現該介面類的對象,這可以大限度的實現動態綁定,隱藏實現細節。

  介面文法使用interface關鍵字聲明,只聲明類方法原型,不定義直接的方法類容,格式如下:

    [介面修飾符]  interface  介面名稱  [<Type>]  [extends 父類名]{

      ....//方法原型

      }

值得注意的是,在介面聲明中,java允許省略聲明資料成員的final關鍵字,方法的public以及abstract關鍵字。如下:

interface Shape2D{final double pi = 3.14;public abstract double area();}

 可以直接省略關鍵字:

interface Shape2D{double pi = 3.14;double area();}

   介面實現,介面自然不能象一般類一樣使用new運算子可以產生對象。利用介面構造類的過程叫做介面實現。實現介面需要implements關鍵字,文法如下:

    [類修飾符]  class  類名  implements  介面名稱{
      ...//實現interface的方法

    }

下面例子實現Shape2D。

 

import static java.lang.Math.*;interface Shape2D{final double pi = 3.14;public abstract double area();}class Circle implements  Shape2D{private double radius ;public Circle(double r){radius = r;}public double area(){return pi*radius*radius;}}class Rectangle implements Shape2D{private double width;private double length;public Rectangle(double w,double l){width = w;length = l;}public double area(){return width*length;}} public class Test{public static void main(String [] args){Shape2D  circle = new Circle(2.0);Shape2D rectangle = new Rectangle(3.0, 5.0);System.out.println(circle.area());System.out.println(rectangle.area());}}

 

java中的介面

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.