Java——接口

概述

接口是一种公共的规范标准,只要符合规范标准,大家都可以通用。
Java中的接口更多的体现在对行为的抽象。

特点

  1. 接口用关键字interface修饰
    public interface 接口名{}

  2. 类实现接口用implements表示
    public class 类名 implements 接口名{}

  3. 接口不能实例化
    实例化的实现方式:参照多态的方式,通过实现类对象实例化。
    多态的形式:具体类多态,抽象类多态,接口多态
    多态的前提:有继承或者实现关系,有方法重写;有父(类/接口)引用指向(子/实现)类对象。

  4. 接口的实现类:要么重写接口中的所有抽象方法、要么是抽象类。

/*
接口
 */
public interface Jumpping {
    public abstract void jump();
}
public class Cat implements Jumpping{
    @Override
    public void jump() {
        System.out.println("猫跳高");
    }
}
public abstract class Dog implements Jumpping {
}
/*
测试类
 */
public class JumppingDemo {
    public static void main(String[] args){
        //Jumpping j = new Jumpping();
        Jumpping j = new Cat();
        j.jump();
    }
}

在这里插入图片描述

成员特点

  1. 成员变量:
    只能是常量
    默认修饰符:public static final
  2. 构造方法
    接口没有构造方法
    一个类如果没有父类,默认继承自Object类
  3. 成员方法
    只能是抽象方法
    默认修饰符:public abstract
/*
接口类
 */
public interface Inter {
    public int n = 10;
    public final int m = 20;

    // public static final int p = 20;

    int p = 30;

    //public Inter(){}

    //public void show(){}

    public abstract void method();

    void show();
}
/*
接口实现类
 */

//public class InterImpl extends Object implements  Inter{}

public class InterImpl implements Inter {
    public InterImpl() {
        super();
    }

    @Override
    public void method() {
        System.out.println("method");
    }

    @Override
    public void show() {
        System.out.println("show");
    }
}
/*
测试类
 */
public class InterfaceDemo {
    public static void main(String[] args) {
        Inter i = new InterImpl();

        //i.n = 20;
        System.out.println(i.n);

        //i.m = 40;
        System.out.println(i.m);
        System.out.println(Inter.m);

    }
}

在这里插入图片描述

类和接口的关系

  1. 类和类的关系:继承(单继承、多层继承)
  2. 类和接口的关系:实现(单实现、多实现、在继承一个类的同时实现多个接口)
  3. 接口和接口的关系:继承(单继承、多继承)
/*
接口1
 */
public interface Inter1 {
    
}
/*
接口2
 */
public interface Inter2 {
}
/*
接口3
 */
public interface Inter3 extends Inter1, Inter2 {
}
/*
接口实现类
 */
public class InterImpl extends Object implements Inter1, Inter2, Inter3 {

}

抽象类和接口的区别

  1. 成员区别
    抽象类:变量、常量;有构造方法;有抽象方法也有非抽象方法
    接口:常量;抽象方法
  2. 关系区别
    类与类:继承、单继承
    类与接口:实现,可以单实现,也可以多实现
    接口与接口:继承,单继承,多继承
  3. 设计理念区别
    抽象类:对类抽象、包括属性、行为
    接口:对行为抽象,主要是行为


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值