java接口的调用方式_『Java』接口的使用方法

这篇博客详细介绍了Java接口的使用,包括接口中的抽象方法、默认方法、静态方法以及私有方法的定义和作用。同时,讲解了如何通过实现类覆盖接口方法,并展示了接口中成员变量的用法。还演示了如何在主函数中调用这些方法和访问接口常量。
摘要由CSDN通过智能技术生成

以下三个文件存在于同一个包下:

定义接口Dome_Interface.java:

package cn.xxmmqg.Interface;

// 接口不能直接使用,必须有一个“实现类”来实现该接口

// 接口的实现类必须覆盖接口中的所有抽象方法,如果没有全部覆盖重写,则实现类必须是抽象方法

public interface Dome_Interface {

// ==============抽象方法=================

// 任何版本的java都可以定义抽象方法

// 抽象方法的修饰符必须是 public abstract,且可以选择性省略

public abstract void methodAbs1();

public void methodAbs2();

abstract void methodAbs3();

void methodAbs4();

// 以上都是抽象方法

// ==============默认方法=================

// 默认方法通过default修饰,而public 可以省略,但是【不能是其他的】

// 默认方法可以通过【实现类】使用,而不需要被实现类重写

public default void methodDef(){

System.out.println("默认方法运行");

}

// 接口中可以定义默认方法,用于解决接口升级问题

// 将新添加的接口功能定义成默认方法,那么已投入使用的实现类不需要改变也可使用该功能,实现类中也可以对其进行覆盖重写

// ==============静态方法=================

public static void methodSta(){

System.out.println("接口的静态方法");

}

// ==============私有方法=================

// 定义私有方法,用于解决多个【默认方法】代码重复的问题

// 如果私有方法中加上修饰符static,就能解决多个【静态方法】代码重复问题

private void methodPri(){

System.out.println("重复代码运行");

}

public default void methodDef1(){

System.out.print("methodDef1运行 ");

this.methodPri();

}

public default void methodDef2(){

System.out.print("methodDef2运行 ");

this.methodPri();

}

// ==============成员变量=================

// 接口中定义成员变量,但是必须使用 public static final三个关键字进行修饰,且可以选择性省略

// 效果上看,就是接口的常量,以下定义方法中都是【常量】

// 接口中的常量必须进行赋值

public static final int NUM_1 = 10; // 常量一般使用全大写字母加下划线

int NUM_2 = 11;

public int NUM_3 = 12;

static int NUM_4 = 13;

final int NUM_5 = 14;

}

定义接口的实现类Dome_Implement.java:

package cn.xxmmqg.Interface;

public class Dome_Implement implements Dome_Interface{

// 覆盖重写抽象方法

@Override

public void methodAbs1() {

System.out.println("Abs1");

}

@Override

public void methodAbs2() {

System.out.println("Abs2");

}

@Override

public void methodAbs3() {

System.out.println("Abs3");

}

@Override

public void methodAbs4() {

System.out.println("Abs4");

}

}

主函数Dome_Main.java:

package cn.xxmmqg.Interface;

public class Dome_Main {

public static void main(String[] args) {

Dome_Implement impl = new Dome_Implement();

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

impl.methodAbs1();

impl.methodAbs2();

impl.methodAbs3();

impl.methodAbs4();

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

// 调用默认方法,如果实现类中没有定义,则向上找接口的

impl.methodDef();

impl.methodDef1();

impl.methodDef2();

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

// 调用静态方法

// impl.methodSta(); // 不能通过接口实现类的对象来调用接口的静态方法,因为一个类可以实现多个接口,这些接口的静态方法有可能重名

Dome_Interface.methodSta(); // 正确调用接口静态方法的方法

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

// 访问接口中的常量

System.out.println(Dome_Interface.NUM_1);

System.out.println(Dome_Interface.NUM_3);

}

}

主函数运行结果:

--------------------

Abs1

Abs2

Abs3

Abs4

--------------------

默认方法运行

methodDef1运行 重复代码运行

methodDef2运行 重复代码运行

--------------------

接口的静态方法

--------------------

10

12

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值