gpt4 book ai didi

java - 接口(interface)(两种方法,根据类不同返回类型)Java

转载 作者:搜寻专家 更新时间:2023-10-31 08:14:42 25 4
gpt4 key购买 nike

任何扩展接口(interface)的类都必须实现接口(interface)中声明的方法。不确定这是否可能,但我想做的是:

interface test {
____ get();
}

class A extends test {
int val;

A(int x) {
val = x;
}

int get() {
return Val;
}


class B extends test {
String val;

B(String x) {
val = x;
}

String get() {
return Val;
}

是否可以有一个能够返回两种不同数据类型的方法签名?

最佳答案

不完全一样,但您可以使用泛型类型参数来接近。

interface Test<T> {
T get();
}

class A implements Test<Integer> {
int val;

A(int x) {
val = x;
}

@Override
public Integer get() {
return val;
}
}

class B implements Test<String> {
String val;

B(String x) {
val = x;
}

@Override
public String get() {
return val;
}
}

如您所见,您必须使用 Integer,因为泛型不适用于原语。

另请注意,同一界面的这 2 个版本现在本质上是 2 个不同的界面。

关于java - 接口(interface)(两种方法,根据类不同返回类型)Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37105721/

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