gpt4 book ai didi

java - 类中几个方法的强制签名

转载 作者:太空宇宙 更新时间:2023-11-04 06:54:49 25 4
gpt4 key购买 nike

是否可以对类中的几个方法强制签名?

假设我有Interface MyInterface:

public interface MyInterface
{
public void method(int a);
}

我想在类 MyInterfaceClass 中实现 MyInterface,使 MyInterfaceClass 中的每个方法都具有相同的签名?

public class MyInterfaceClass implements MyInterface
{
public void method_A(int a) { /*something */ }
public void method_B(int a) { /*something */ }
public void method_C(int a, int b) { /*something */ } // ERROR cause of signature, won't compile
}

我的 MyInterfaceClass 中有数量未知的方法。

最佳答案

我不知道你到底想要什么?在java中,方法的签名由6个因素组成:

  1. 隐私级别(公共(public)、私有(private)等)
  2. 返回类型
  3. 方法名称(区分大小写)
  4. 参数(类型和位置,method_a(int a, String b) != method_a(String b, int a) )
  5. 已检查的异常(exception)列表

如果您希望在接口(interface)中实现该方法,则必须匹配所有这些条件,包括名称。此外,在类中您只能实现一次接口(interface)的方法。如果您尝试使用相同的参数、名称、隐私级别等实现一个方法两次,那么您的类将无法编译。如果你在同一个类中实现了两次,java虚拟机如何知道要调用哪个方法?

为什么要在一个类中实现同一个方法两次?也许您正在尝试改进您的设计,但您提出了错误的问题?

关于java - 类中几个方法的强制签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22895000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com