码迷,mamicode.com
首页 > 其他好文 > 详细

接口的基本概念

时间:2015-03-16 06:28:03      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:interface   abstract   public   接口   关键字   

如果定义一个类时,全部由抽象方法和全局常量所组成,那么这种类就称为接口,接口是使用interface关键字进行定义的,接口同样存在抽象方法,但接口对象无法进行实例化。

定义一个接口:

interface A {        // 定义接口

         public static final String INFO = "Hello World .";

         public abstract void print() ;

}          

interface B {

         public abstract void get() ;

}

接口的使用原则:

    ·每一个接口必须定义子类,子类使用implements关键字实现接口;

    ·接口的子类(如果不是抽象类)则必须覆写接口之中所定义的全部抽象方法;

    ·利用接口的子类,采用对象的向上转型方式,进行接口对象的实例化操作。

子类实现接口的语法格式:

class 子类 [extends 父类] [implemetns 接口1,接口2,...] {}

每个子类可以实现多个接口,但只能继承一个父类

例:让子类实现接口:

interface A {        // 定义接口

         public static final String INFO = "Hello World .";

         public abstract void print() ;

}

interface B {

         public abstract void get() ;

}

class X implements A,B {    // 同时实现了两个接口

         public void print() {      //方法覆写

                   System.out.println("Hello World .") ;

         }

         public void get() {

                   System.out.println(INFO) ;

         }

}

public class Test {

         public static void main(String args[]) {

                   A a = new X() ;

                   B b = new X() ;

                   a.print() ;

                   b.get() ;

         }

}

如果一个类既要实现接口又要继承抽象类,则应该采用先继承后实现的方法

interface A {        // 定义接口

         public static final String INFO = "Hello World .";

         public abstract void print() ;

}

interface B {

         public abstract void get() ;

}

abstract class C {

         public abstract void fun() ;

}

class X extends C implementsA,B {        // 同时实现了两个接口

         public void print() {      //方法覆写

                   System.out.println("Hello World .") ;

         }

         public void get() {

                   System.out.println(INFO) ;

         }

         public void fun() {

                   System.out.println("世界,你好!") ;

         }

}

public class Test {

         public static void main(String args[]) {

                   A a = new X() ;

                   B b = new X() ;

                   C c = new X() ;

                   a.print() ;

                   b.get() ;

                   c.fun() ;

         }

}

接口的访问权限只有一种,即:public,就算定义接口时没有写上public,那最终也是public;

在java中,每一个抽象类都可以同时继承多个接口,但反过来讲,一个接口却不能继承抽象类,可是在java中,一个接口却可以同时继承多个接口,以实现接口的多继承操作

interface A {

         public void printA() ;

}

interface B {

         public void printB() ;

}

interface C extends A,B{     // 一个接口继承了多个接口

         public void printC() ;

}

class X implements C {

         public void printA() {}

         public void printB() {}

         public void printC() {}

}

在开发之中,内部类是永远不会受到概念限制的,在一个类中可以定义内部类,在一个抽象类之中也可以定义抽象内部类,在一个接口里面也可以定义内部抽象类或内部接口,但是从实际的开发来讲,用户自己去定义内部抽象类或内部接口的时候是比较少见的(Android开发中见过内部接口),而且在定义内部接口的时候如果使用了static,表示是一个外部接口。

interface A {

         public void printA() ;

         static interface B {        //外部接口

                   public void printB() ;

         }

}

class X implements A.B {

         public void printB() {

                   System.out.println("Hello World .") ;

         }

}

public class Test {

         public static void main(String args[]) {

                   A.B temp = new X() ;

                   temp.printB() ;

         }

}

接口的三大主要功能:

·制订操作标准;

·表示一种能力;

·将服务器端的远程方法视图暴露给客户端。


接口的基本概念

标签:interface   abstract   public   接口   关键字   

原文地址:http://9882931.blog.51cto.com/9872931/1620637

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!