美文网首页
Java中的接口

Java中的接口

作者: by小杰 | 来源:发表于2017-02-08 18:04 被阅读41次
  • 1、接口慨念
    类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,它指明了这些类里必须提供某些方法。
  • 2、接口定义基本语法:
[修饰符]interface 接口名 [extends 父接口1,父接口2,...]
{
    常量定义...
    抽象方法...
}
  • 3、接口定义
    常量:接口定义中属性是常量,即使定义时不添加public static final 修饰符,系统也会自动加上。
    方法:接口中的方法都是抽象方法,即使定义时不添加public abstract修饰符,系统也会自动加上。

  • 4、 使用接口
    一个类可以实现一个或多个接口,实现接口使用implements关键字。Java中一个类只能继承一个父类,是不够灵活的,通过实现多个接口可以做补充。

继承父类实现接口的语法为:
[修饰符] class 类名 extends 父类 implements 接口1, 接口2...
{
    类的具体内容
    //1、如果继承了抽象类,需要实现抽象方法;
    //2、要实现接口中的抽象方法。
}
注释:如果要继承父类,继承父类必须在实现接口之前(也就是说:extends和implements关键字不可以调换顺序)

IPlayGame.java(接口文件)

package com.imooc;

public interface IPlayGame {

    public void playGame(); //只定义方法,而不需要实现
    
}

Psp.java(接口实现文件)
创建一个类Psp.java,实现上面的接口:

package com.imooc;

public class Psp implements IPlayGame {
   
    //选择实现接口文件,回自动实现接口文件的方法
    @Override
    public void playGame() {
    
        System.out.println("Psp具有了玩游戏的功能");
    }

}

SmartPhone.java(接口实现文件)

package com.imooc;

public class SmartPhone extends Telephone implements IPlayGame{

    //继承的Telephone 类为抽象类,所以自动实现抽象类方法
    @Override
    public void call() {
        // TODO Auto-generated method stub

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

    @Override
    public void message() {
        // TODO Auto-generated method stub

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

    //实现IPlayGame接口,自动实现接口中的方法
    @Override
    public void playGame() {
        // TODO Auto-generated method stub
        System.out.println("SmartPhone具有了玩游戏的功能");
    }

}

Initail.java(应用文件)

IPlayGame pl1 = new SmartPhone();
pl1.playGame();
        
IPlayGame pl2 = new Psp();
pl2.playGame();
  • 5.通过匿名内部类使用接口
    接口在使用过程当中,还经常与匿名内部类配合使用
    匿名内部类就是没有名字的内部类,多用来关注实现而不关注实现类的名称。
//方式一:
IPlayGame pl3 = new IPlayGame(){

            @Override
            public void playGame() {
                // TODO Auto-generated method stub
                
                System.out.println("使用匿名类的方式实现接口");
            }

};
pl3.playGame();
        
//方式二:      
new IPlayGame(){

            @Override
            public void playGame() {
                // TODO Auto-generated method stub
                System.out.println("使用匿名类的方式实现接口");
            }
            
            
}.playGame();

相关文章

  • Collection接口

    java中的java.util.Collection接口是集合的顶级接口,继承了Iterable接口,jdk中并没...

  • MVP简单介绍和内部接口介绍

    【Android - 框架】之MVP模式的使用 Java中的内部接口 Java中接口中的方法定义规则 Java中的...

  • Java8 编程规范入门之【接口允许方法实现】

    JAVA8中接口interface引入方法实现的猜想 在JAVA8之前java中的接口类型旨在定义类型的接口规约,...

  • 4.接口、内部类、枚举类

    Java中的接口: 在Java中最小的程序单元就是类,接口其实是一个特殊的类. Java中的接口表示规范,用于定义...

  • java成神之路---集合框架

    标签(空格分隔): java java集合类库的设计思想:“接口与实现分离” java类库中的集合接口和迭代器接口...

  • 第九节 netty前传-NIO 补充Path和File

    NIO Path Java NIO.Path接口位于java.nio.file包中,所以Java Path接口的完...

  • kotlin的接口

    kotlin的接口和java的使用几乎一样Java是单继承多接口的语言,kotlin也是如此,java中是实现接口...

  • 【JAVA】Java中的接口

    0x01 接口 在Java中,接口表示一种规范,要求实现者必须遵循这个规范,用来约束使用者该怎么做 必须要求实现者...

  • Comparable与Comparator的区别

    Comparable接口: 位于java.lang包下。在java中实现了该接口的对象可以排序。重写该接口中...

  • 42 函数式接口

    函数式接口在Java中是有且只有一个抽象方法的接口,java中就是使用Lambda接口作为函数式接口 定义接口格式...

网友评论

      本文标题:Java中的接口

      本文链接:https://www.haomeiwen.com/subject/phqbittx.html