JAVA接口

本文详细介绍了Java中的接口概念,包括接口的定义、特点、实现方式以及接口与类、抽象类之间的关系。强调了接口作为行为抽象的角色,指出接口不能实例化,但可以通过实现类实现接口多态。此外,还探讨了类名和接口名作为方法参数和返回值的使用场景。
摘要由CSDN通过智能技术生成

接口的概述:

接口就是一种公共的规范标准,只要符合规范标准,大家都可以使用

Java中的接口更多体现在对行为的抽象

接口的特点

  • 接口用关键字interface来修饰

pbulic interface 接口名{}

  • 类实现接口用interface表示

public class 类名implements 接口名{}

  • 接口不能实例化

接口如何实现实例化呢?按照多态的方式,通过实现类对象实例化,这叫做接口多态。

多态的形式:具体类多态,抽象类多态,接口多态。

多态的前提:有继承或者实现关系;有方法的重写;有父(类/接口)引用指向(子/实现)类对象

  • 接口实现类

要么重写接口中的所有抽象方法

要么就是抽象类


接口的成员特点:

1.成员变量

  • 只能是常量
  • 默认修饰符:public static final

2.构造方法

  • 接口没有构造方法,因为接口主要是对行为进行抽象的,是没有具体存在一个类如果没有父类,默认继承自Object类

3.成员方法

  • 只能是抽象方法
  • 默认修饰符: public abstract

关于接口中的方法,JDK8和JDK9中有一些新特性,后面再讲解。


类和接口的关系:

  • 类和类的关系

继承关系,只能单继承,但是可以多层继承

  • 类和接口的关系

实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口

  • 接口和接口的关系

继承关系,可以单继承,也可以多继承


抽象类和接口的区别:

1.成员区别

  • 抽象类:变量,常量;有构造方法;有抽象方法,也有非抽象方法
  • 接口:常量;抽象方法

2.关系区别

  • 类与类:继承,单继承
  • 类与接口:实现,可以单实现,也可以多实现
  • 接口与接口:继承,单继承,多继承

3.设计理念区别

  • 抽象类:对类抽象,包括属性、行为
  • 接口:对行为抽象,主要是行为

(这里我们用一个例子来解释)


类名作为形参和返回值:

  • 方法的形参是类名,其实需要的是该类的对象
  • 方法的形参是返回值,其实返回的是该类的对象
public class Cat {
    public void eat(){
        System.out.println("猫吃东西");
    }
}
public class CatOperator {
    public  void useCat(Cat c){
        //Cat作为了方法的形参放进了方法里面
        c.eat();
    }
    //用类名作为返回值
    public  Cat  getCat(){
        Cat c =new Cat();
        return c;
    }
}
//测试类
public class CatDemo {
    public static void main(String[] args) {
        //创建操作类,并调用方法
        CatOperator co =new CatOperator();
        Cat c =new Cat();
        co.useCat(c  );

        Cat c2 =co.getCat();
        c2.eat();
    }
}

接口名作为形参和返回值:

  • 方法的形参是接口名,其实返回的是该接口的实现类对象
  • 方法的返回值是接口名,其实返回的是该接口的实现类对象

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值