JAVA--接口

目录

一、接口的概念

二、接口的书写

2.1接口的书写: 

三、接口的例题

四、总结


一、接口的概念

在Java中,接口是一种引用类型,用于定义一个类必须实现的方法。其实大家可以把接口看作是一种特殊的抽象类,又或者说接口是一种比抽象类还要抽象的类,他里面都是全局变量和公共抽象方法组成的。

二、接口的书写

上面我们已经了解到什么是接口之后,那么接下来我们来讲讲接口的书写形式:

  • 1,使用interface来定义一个接口
  • 2,接口当中的成员变量 默认是public static final的
  • 3,接口当中的成员方法 默认是public static abstract的,一般情况下我们不写
  • 4,接口当中不可以有普通的方法(参考我前面所写的抽象类博客)
  • 5,从Java8开始 允许在接口当中定义一个default方法,可以有具体的实现的
  • 6,接口当中的方法 如果是static修饰的方法 那么是可以有具体的实现的
  • 7,接口 不能通过new关键字进行实例化的(这一点跟抽象类一样)
  • 8,类和接口可以通过关键字implements来实现接口
  • 9,接口也可以发生向上转型 和 动态绑定的
  • 10,当一个类 实现接口当中的方法之后,当前类中的方法 不能不加public
  • 11,接口当中 不能有构造方法 和 代码块
  • 12,一个接口也会独立的产生一份字节码文件,即文件名后面加个.class
  • 13,接口之间也是可以相互继承的,而且是可以多继承的,接口之间的继承用extends。就像下面这张图一样:
2.1接口的书写: 

1,接下来,让我来定义一个接口(在想要的包底下,右键鼠标,然后点击新建,点Java类,之后选择接口即可),叫IShape(在定义接口名的时候,接口的首字母一定是以大写的I为开头,之后就以大驼峰(即首字母大写,其他的小写)的形式进行命令即可,就像下面的代码:

interface IShape{
    int a = 10;//写成像这个样子就可以了
    void draw();//写成像这个样子就可以了
    //public void test(){}//像这种普通的方法,是不允许的
    //default public void test1(){}//写成这样是可以的
    //public static void test2(){}//写成这样也可以

 2,那在定义完接口之后,我们该如何去继承了?难道要用extends去继承该接口?我的回答是:不不不!此时我们要用到新的关键字来继承我们的接口,它就是implements,那么它该怎么去使用了?

就像下面这个代码一样:

class Rect implements IShape{
    @Override
    public void draw() {
        System.out.println("矩形");
    }

我们来定义一个类叫做Rect(矩形), 让这个类来继承我们的接口。

3,那我们就来开始书写主函数的代码,并进行运行就可以了 。

 public static void main(String[] args) {
        Rect rect = new Rect();
        rect.draw();

运行结果如图:

三、接口的例题

我们了解接口的基本操作之后,那我们来稍微提高一下难度。

题目1:我们要定义一个动物Animal这个类,然后分别定义一个子类Dog和一个子类Bird,让这两个类分别继承这个父类Aniaml,然后再在Aniaml这类中定义一个方法叫eat(),来描述这两个类的吃的食物,之后我们在分别定义3个接口来描述这两个类的运动状态,分别是ISwimming、IFlying、IRunning。然后输出他们说对应的运动状态以及吃的食物。

解析:读完题目,我们可知Aniaml是个抽象类,因为每个动物的吃法不同,所以Aniaml就是个抽象类(关于抽象类的详解,我前面的博客有介绍),既然要描述子类的运动状态,那么就要继承相对应的接口,接下来,我们就按照题目要求来书写代码

第一步:我们来分别定义这几个类,像这样:

Tips:大家以后在定义接口的时候,请把它单独定义成一个类,不要再同一个类中写很多接口,这样是不美观的。 

第二步 :在我们定义完这些类之后,我们就开始为这些类添加内容:就比如狗喜欢吃狗粮,鸟喜欢吃鸟粮,然后狗会游泳、跑,鸟会跑、飞。我们来按照这个内容来定义各类中的内容,就像下面这样:

//这是Aniaml中的方法
public abstract class  Animal {
    public String name;
    public int age;
    public abstract void eat();

    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
//这是Bird里面的方法,这里提醒一下:接口是允许被多继承的,就是一个子类可以继承多个接口,就像这样的写法
public class Bird extends Animal implements IRunning,IFlying {
    public Bird(String name, int age) {
        super(name, age);
    }
    @Override
    public void eat() {
        System.out.println(this.name + "正在吃鸟粮");
    }

    @Override
    public void fly() {
        System.out.println(this.name + "正在用翅膀飞");
    }

    @Override
    public void run() {
        System.out.println(this.name + "正在用鸟腿走路");
    }
}

Tips:接口是允许被多继承的,就是一个子类可以继承多个接口,就像这样的写法,子类可以在继承父类的同时来继承接口,而且接口当中的方法是要求重写的,你继承哪个相对应的接口,就要在你的子类中重写你所对应接口的方法,比如:我继承了IRunning这个接口里面的方法,那我这个子类就要重写IRunning这个接口里面的所有方法,这里可以使用快捷键Alt+enter,来帮助我们快速进行重写

//这是Dog里面的方法
public class Dog extends Animal implements IRunning,ISwmming{//快捷键Alt+Enter
    public Dog(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println(this.name + "正在吃狗粮");
    }

    @Override
    public void run() {
        System.out.println(this.name + "正在用狗腿走路");
    }

    @Override
    public void swim() {
        System.out.println(this.name + "正在用狗腿游泳");
    }

}

接下来就是接口里面的方法了:

//接口IFlying里面的方法
public interface IFlying {
    void fly();
}
//接口IRunning里面的方法
public interface IRunning {
    void run();
}
//接口ISwiming里面的方法
public interface ISwmming {
    void swim();
}

那么接下来,我们就开始定义主函数的方法了:

既然我们要调用这些,那我们肯定要先实例化这两个对象:

实例化这两个对象完了之后,那有人就会说,梦哥这些接口名字太长了,我不想这样一个个调用,那我们就用我们之前在多态说讲的方法来帮你减轻麻烦,就是用:方法传参的形式就好了,如图:

如果有不懂的小伙伴,可以去参考我之前所写的多态那一章(其实这种写法就跟我们之前所学的函数差不多,只不过把传参的对象变成了实例化对象,之后再用这些实例化对象分别调用所对应的方法)。 

之后我们就可以调用这些函数,来完成我们想要的结果,就像这样:

我们来输出一下,看看是不是我们想要的结果:

嗯,结果是正确的。

四、总结

以上便是我的总结。希望大家早日被自己满意的offer所录取。

 

### 回答1: weixin-java-mp是一个基于Java开发的微信公众平台开发工具包。它提供了丰富的接口和功能,方便开发者与微信公众号进行交互和开发。 weixin-java-mp支持公众号的基本操作,例如消息的接收和发送、用户管理、素材管理等。开发者可以使用weixin-java-mp来构建自己的公众号,并通过自定义的逻辑来处理微信用户的操作和请求。 weixin-java-mp还提供了丰富的API接口,允许开发者根据自己的需求进行接口的调用和业务逻辑的实现。开发者可以通过调用weixin-java-mp提供的API接口,实现用户信息的获取、发送模板消息、创建自定义菜单等功能。 除了基本的功能和接口,weixin-java-mp还支持微信支付的功能。开发者可以通过weixin-java-mp来实现微信支付的相关逻辑,例如生成支付二维码、处理支付回调等。 总的来说,weixin-java-mp是一个强大的工具包,提供了丰富的功能和接口,方便开发者进行微信公众号的开发和管理。无论是开发新的公众号应用还是对已有公众号进行升级和优化,使用weixin-java-mp都能够提高开发效率,减少开发工作量。 ### 回答2: weixin-java-mp是一个基于Java的微信公众号开发框架。它提供了一系列的接口和工具,方便开发者与微信公众号进行交互和开发。 首先,weixin-java-mp可以帮助开发者实现与微信公众号的接入和消息事件的处理。它提供了接口来验证开发者的服务器配置信息,并能够接收、解析和处理微信公众号发送的消息和事件,比如文本消息、图片消息、菜单点击事件等。 其次,weixin-java-mp还封装了微信公众号的各种功能接口开发者可以利用这些接口实现自定义的功能。例如,发送回复消息、获取用户信息、创建自定义菜单、上传下载媒体文件等等。开发者可以根据自己的需求选择合适的接口来实现对微信公众号的操作。 此外,weixin-java-mp还提供了一些常用的工具类,例如消息加解密工具、支付签名工具等,方便开发者进行相关功能的开发和调试。 总的来说,weixin-java-mp是一个功能丰富、易于使用的微信公众号开发框架,可以帮助开发者快速搭建和开发微信公众号的各种功能,使开发工作变得更加高效和便捷。 ### 回答3: weixin-java-mp是一个Java开发的微信公众号开发框架,它提供了一系列方便的功能和API,方便开发者进行微信公众号的开发和管理。 weixin-java-mp可以帮助开发者快速搭建微信公众号应用,提供了与微信服务器进行交互的工具类和方法。开发者可以使用weixin-java-mp来处理接收到的微信消息、回复消息、获取用户信息、创建自定义菜单等功能。同时,weixin-java-mp还支持微信支付、素材管理、用户管理、模板消息等高级功能的开发和调用。 weixin-java-mp使用了面向对象的设计模式,提供了丰富的API接口,让开发者能够方便地与微信服务器进行通信。它使用了一种简单且灵活的方式来定义和处理微信消息,可以根据不同的消息类型进行相应的处理,比如文本消息、图片消息、语音消息等。通过weixin-java-mp,开发者可以轻松地处理和响应用户发送的不同类型的消息。 此外,weixin-java-mp还支持多种微信支付方式的开发和调用,包括统一下单、订单查询、退款等功能,方便开发者进行商业化的微信公众号应用开发开发者可以使用weixin-java-mp来方便地调用这些支付接口,实现微信支付的功能。 总之,weixin-java-mp是一个功能强大且易于使用的微信公众号开发框架,它提供了丰富的API和工具类,方便开发者进行微信公众号应用的开发和管理。无论是开发者初学者还是有经验的开发者,都可以使用weixin-java-mp来快速搭建微信公众号应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值