java接口方法自动重写_在实现Java接口时,我们可以仅重写一种方法吗?

Java中的接口是方法原型的规范。每当您需要指导程序员或订立合同以指定应如何使用类型的方法和字段时,都可以定义接口。

要创建这种类型的对象,您需要实现此接口,为接口的所有抽象方法提供主体,并获取实现类的对象。

示例interface Sample {

void demoMethod1();

void demoMethod2();

void demoMethod3();

}

public class InterfaceExample implements Sample {

public void demoMethod1() {

System.out.println("This is demo method-1");

}

public void demoMethod2() {

System.out.println("This is demo method-2");

}

public void demoMethod3() {

System.out.println("This is demo method-3");

}

public static void main(String args[]) {

InterfaceExample obj = new InterfaceExample();

obj.demoMethod1();

obj.demoMethod1();

obj.demoMethod3();

}

}

输出结果This is demo method-1

This is demo method-2

This is demo method-3

在实现接口时,必须重写其所有抽象方法,如果您跳过对任何抽象方法的重写,则会生成编译时错误。

示例interface Sample {

void demoMethod1();

void demoMethod2();

void demoMethod3();

}

public class InterfaceExample implements Sample {

public void demoMethod1() {

System.out.println("This is demo method-1");

}

public void demoMethod2() {

System.out.println("This is demo method-2");

}

public static void main(String args[]) {

InterfaceExample obj = new InterfaceExample();

obj.demoMethod1();

obj.demoMethod2();

}

}

输出结果InterfaceExample.java:6: error: InterfaceExample is not abstract and does not override abstract method demoMethod3() in Sample

public class InterfaceExample implements Sample{

^

1 error

但是,即使您只想覆盖一个抽象方法,也是如此-

您可以将其余方法保留为-

示例interface Sample {

void demoMethod1();

void demoMethod2();

void demoMethod3();

}

public class InterfaceExample implements Sample {

public void demoMethod1() {

System.out.println("This is demo method-1");

}

public void demoMethod2() {

}

public void demoMethod3() {

}

public static void main(String args[]) {

InterfaceExample obj = new InterfaceExample();

obj.demoMethod1();

obj.demoMethod2();

obj.demoMethod3();

}

}

输出结果This is demo method-1

由于int对于实现接口的默认方法不是强制性的,因此您可以将其余方法默认声明为-

示例interface Sample {

void demoMethod1();

default void demoMethod2() {

System.out.println("Default demo method 2");

}

default void demoMethod3() {

System.out.println("Default demo method 3");

}

}

public class InterfaceExample implements Sample {

public void demoMethod1() {

System.out.println("This is demo method-1");

}

public static void main(String args[]) {

InterfaceExample obj = new InterfaceExample();

obj.demoMethod1();

obj.demoMethod2();

obj.demoMethod3();

}

}

输出结果This is demo method-1

Default demo method 2

Default demo method 3

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值