java接口

本文介绍了如何在编程中使用接口,通过Java语言展示了接口的定义与使用,包括抽象方法和default方法。同时,举例说明接口在现实生活中如电脑接口、形状抽象等的应用。并提供了一个关于形状的接口实现案例,演示了接口如何被类实现并重写方法。最后,强调了接口使用的一些注意事项,例如不能直接实例化接口,接口方法默认为public抽象方法等。
摘要由CSDN通过智能技术生成

接口在我们的生活中比比皆是 比如电脑主机的接口,手机的接口等等

 如何把接口写成编程语言类的内容呢

我们可以使用java来实现接口

一.语法规则

1.将关键字class换成interface 定义了一个接口

2.接口中都是抽象方法

代码如下:

interface IShape{//接口名称
    //抽象方法
    public abstract void draw();//public abstract 是默认的 可以不写
    public void fun1();
    abstract void fun2();
    void fun3();//可以都写成这样 保持整齐简洁
}

二.接口的使用

1.使用implements 来使用接口

interface IShape{
    void draw();
}
abstract class A implements IShape{

}

2.接口的使用方法

子类和父类是继承关系extends,类和接口是实现关系implements

当有接口和类的实现,子类和父类的继承关系一起出现时,代码如下

//接口(接口中的方法默认是抽象方法)
interface IShape{
    void draw();
//可以不是抽象方法
    default void func(){//不是抽象方法 可以不重写
        System.out.println("输出了func");
    }
}
//类与接口的实现
abstract class A implements IShape{ //IShape是抽象类 必须用抽象类(A)来实现
    public abstract void fun2();
}
//子类与父类的继承
class B extends A{//B继承了一个抽象类 就要重写抽象类A和接口IShape的抽象方法
    @Override
    public void draw() {//重写抽象方法
    }
    @Override
    public void fun2() {//重写抽象方法
    }
}

接口咋才可以用在实际生活中 那多了去了,比如电脑,电脑就有很多的usb接口,什么HDIM接口,什么电源接口等等,这些都是可以用接口来描述或实现的。

再比如形状,有圆形,方形,三角形等等,这样也可以使用接口,我们可以定义一个接口,不实现具体的内容,然后使用类加上implements这个实现类,来具体实现我想要的内容,比如我想要一个圆形,我只需要在我的圆形类里重写接口中的抽象方法(抽象方法在继承和实现的时候必须重写),然后实现我的内容就可以了。

我写一个关于形状的接口,那么具体的实现代码如下

interface IShape{
    void draw();
    default void fun(){
        System.out.println("悦悦");//打印内容随意,这里是我女朋友名字,
                                  //只是为了在下面的类中完成这里的fun的重写 形成下对比
    }
}
//圆形类
class Circle implements IShape{
    @Override
    public void draw() {
        System.out.println("画个圆形⚪");
    }

    @Override
    public void fun() {
        System.out.println("悦悦是圆的");//这里就重写了fun()
    }
}
class Rect1 implements IShape{
    @Override
    public void draw() {
        System.out.println("画一个矩形");
    }
}

public class Demo2 {
    //创建引用类型
    public static void drawMap(IShape iShape){
       iShape.fun();
       iShape.draw();
    }

    public static void main(String[] args) {
        drawMap(new Circle());
        drawMap(new Rect1());
    }
}

结果如下

 

注意:

1.不能直接new接口的对象

2.接口中的方式都是public的抽象方法,default是例外的

3.接口中的方法是不嫩挂在接口中实现的,只能让实现接口的类来实现,default例外

4.重写接口方法时,不能使用default访问权限修饰,也就是不能使用更低的访问权限

5.接口中可以有变量,但都会成为public static final变量

6.接口中不能有静态代码块和构造方法

public interface USB {
// 编译失败
public USB(){
}
{} // 编译失败
void openDevice();
void closeDevice();
}

ps:还有多个接口的实现,下一篇文章会发.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

keild

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值