java中的接口 匿名内部类配合接口使用

来源:互联网 发布:淘宝网2017冬季女装 编辑:程序博客网 时间:2024/04/29 17:14

1、接口概念

      a、类是一种具体实现体,接口定义了某一批类所需要遵守的规范

      b、不关心类的内部数据,不关心类里的方法的实现细节

      c、只规定 这些类里必须提供某些方法

2、接口定义的基本语法(多继承)

       【public】 interface 接口名 【extends 父接口1,父接口2,...】

         {

                零到多个常量定义

                零到多个抽象方法的定义                    //  全是常量或者 抽象方法

         }

注意: 接口就是用来被继承,被实现的,修饰符一般都是public

              不能使用private 和protect修饰接口

3、接口定义

      常量:

                  接口中的方法只能是抽象方法,总是使用,即使定义时不添加 public abstract 修饰符 ,系统也会自动加上。

4、使用接口

        一个类可以实现一个接口或多个接口,实现接口使用 implements 关键字。

        java中一个类只能继承一个父类,是不够灵活的,通过实现多个接口可以做补充。


    public(修饰符)   class 类名 extends 父类  implements 接口1,接口2 ...

     {

          // 如果继承了抽象类,需要实现继承的抽象方法;要实现接口中的抽象方法。

     }

     如果要继承父类, 继承父类必须实现在接口之前 不能换位置



public interface IPlayGame{      //接口

      public void playGame(); 

}


public class SmartPhone extends Telphone implements  IPlayGame{         

    public void call(){

      System.out.println("通过语音来打电话");

    }

    public void message(){

      System.out.println("通过语音来发短信");

    }

      public void playGame(){                                    //实现接口中的抽象方法。

      System.out.println("具有玩游戏的功能");      

    }

}


public class Psp implements IPlayGame{

     public void playGame(){

     System.out.println("具有玩游戏的功能");                //实现接口中的抽象方法

     }

}


public class Initail{

    public static void main(String[] args){

      IPlayGame  ip1 = new smartPhone();   //指向 实现了接口的对象

      ip1.playGame();

      IPlayGame  ip2 = new Psp();            //指向 实现了接口的对象

      ip2.playGame();

    }

}

结果:具有玩游戏的功能

            具有玩游戏的功能


5、与匿名内部类配合使用接口

       匿名内部类就是没有名字的内部类,多用于关注实现而不关注实现类的名字

     语法格式:

            interface i =new Interface(){

                   public void method(){

                        System.out.println( " 匿名内部类实现接口的方式" );

                   }

             }




public interface IPlayGame{      //接口

      public void playGame(); 

}


public class SmartPhone extends Telphone implements  IPlayGame{         

    public void call(){

      System.out.println("通过语音来打电话");

    }

    public void message(){

      System.out.println("通过语音来发短信");

    }

      public void playGame(){                                    //实现接口中的抽象方法。

      System.out.println("具有玩游戏的功能");      

    }

}


public class Psp implements IPlayGame{

     public void playGame(){

     System.out.println("具有玩游戏的功能");                //实现接口中的抽象方法

     }

}


public class Initail{

    public static void main(String[] args){

      IPlayGame  ip1 = new smartPhone();   //指向 实现了接口的对象

      ip1.playGame();

      IPlayGame  ip2 = new Psp();            //指向 实现了接口的对象

      ip2.playGame();

     

       IPlayGame  ip3 = new IPlayGame (){

            

          public void playGame(){

             System.out.printf("使用匿名内部类的方式实现接口");

          }

      };     **分号结束**

               ip3.playGame();

                 new IPlayGame (){

                       public void playGame(){

                       System.out.printf("使用匿名内部类的方式实现接口 2");

                    }

                } . playGame();

   }

}

结果:具有玩游戏的功能

            具有玩游戏的功能

            使用匿名内部类的方式实现接口

            使用匿名内部类的方式实现接口 2

原创粉丝点击