Java-接口

学习目标:

了解Java接口


学习内容:

1、 接口概念
2、 理解接口


学习步骤:

1、接口的概念

一个接口只有方法的特征没有方法实现,因此这些方法可以在不同的地方被不同的实现,而这些实现可以具有不同的行为(功能)。接口可以理解成一种特殊的类,里面全部都是由全局变量和公共的抽象方法所组成。他是解决Java无法受用多继承的一种手段,但更多的作用是制定标准的。

2、理解接口

我们知道,如果某个设备需要向电脑中读取或者写入某些东西,这些设备一般都是采用USB方式与电脑连接的,我们发现,只要带有USB功能的设备就可以插入电脑中使用了,那么我们可以认为USB就是一种功能,这种功能能够做出很多的事情(实现很多的方法),甚实USB就可以看做是一种标准,一种接口,日要实现了USB标准的设备我就认为你已经拥有了USB这种功能。(因为你实现了我USB标准中规定的方法)。
在这里插入图片描述

3、定义接口的步骤

1、定义一个接口
2、实现一个接口,并且重写里面所有的抽象方法
3、传建一个实现类

例题1:
package com.hg.day12.demo01;

//在任何Java版本中 接口都是抽象方法
//public abstract 返回值类型 方法名称(参数列表);
//注意事项:
//    抽象方法 修饰字必须是 public abstract
//    关键字可以省略(ps:今天不能省略)
public interface MyInterface {
    public abstract void methodA();
    abstract void methodB();
    public void methodC();
    void methodD();
}

package com.hg.day12.demo01;

import com.hg.day12.demo01.MyInterface;

public class MyInterfaceImpl implements MyInterface {
    @Override
    public void methodA() {
        System.out.println("实现抽象方法A");
    }
    @Override
    public void methodB() {
        System.out.println("实现抽象方法B");
    }
    @Override
    public void methodC() {
        System.out.println("实现抽象方法C");
    }
    @Override
    public void methodD() {
        System.out.println("实现抽象方法D");
    }

}

package com.hg.day12.demo01;

//1、如何定义一个接口
//public class 类名 {}
//public interface 接口名称{接口内容}
//2、接口内容
//  java7常量
//  java7抽象方法
//  java8默认方法
//  java8静态方法
//  java9私有方法

//使用接口的步骤
//1、定义一个接口
//2、实现一个接口,并且重写里面所有的抽象方法
//3、创建一个实现类
public class Demo01Interface {
    public static void main(String[] args) {
        //MyInterface myinterface = new MyInterface();
        //错误写法 不能对接口实例化
        MyInterfaceImpl impl = new MyInterfaceImpl();
        impl.methodA();
        impl.methodB();
        impl.methodC();
        impl.methodD();
    }
}

运行结果:

在这里插入图片描述

例题2:
package com.hg.day12.demo02;

public interface MyInterfaceDefault {
    public abstract void usb2();

    //将USB2.0升级到3.0
    public default void usb3() {
        System.out.println("这是USB3.0新增加的功能");
    }
}

package com.hg.day12.demo02;

public class MyInterfaceDefaultA implements MyInterfaceDefault{
    @Override
    public void usb2(){
        System.out.println("我是笔记本电脑的USB2.0");
    }
}

package com.hg.day12.demo02;

public class MyInterfaceDefaultA implements MyInterfaceDefault{
    @Override
    public void usb2(){
        System.out.println("我是笔记本电脑的USB2.0");
    }
}

package com.hg.day12.demo02;

public class Demo02Interface {

    public static void main(String[] args) {
        MyInterfaceDefaultA impla=new MyInterfaceDefaultA();

        impla.usb2();
        impla.usb3();

        System.out.println("=================");

        MyInterfaceDefaultB implb=new MyInterfaceDefaultB();

        implb.usb2();
        implb.usb3();
    }
}

运行结果:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值