Foo 的实现 Class 可以称为 Foo 的扩展 class 吗?
Can an Implementing Class of Foo be called as an extending class of Foo?
这个问题一直让我百思不得其解;下面是一个例子。
界面class:
public interface UserInterface{
public String make_nickname();
}
实施class:
public class UserInfo implements UserInterface{
private String name;
private String nickname;
public String make_nickName(){
this.nickname = this.name + "ish";
return this.nickname;
}
}
鉴于此,我正在调用任何实现 UserInterface
的实例,如下所示:
另一个遥控器中的任意函数class:
public void showNickName(<T extends UserInterface>T user){
system.out.println(user.make_nickname());
}
T
用于表示 UserInterface
的(通用)实现 class。
但在这里我称它为 <T exnteds UserInterface>
据我所知暗示 T 是一个 subclass(不是 实现 class ) UserInterface
.
这是调用 UserInfo
实例的合法语法吗?
上面的代码似乎对我有用。
欢迎任何反馈。
如Java tutorial on bounded type parameters所述:
In generics context, extends is used in a general sense to mean either
"extends" (as in classes) or "implements" (as in interfaces).
这个问题一直让我百思不得其解;下面是一个例子。
界面class:
public interface UserInterface{
public String make_nickname();
}
实施class:
public class UserInfo implements UserInterface{
private String name;
private String nickname;
public String make_nickName(){
this.nickname = this.name + "ish";
return this.nickname;
}
}
鉴于此,我正在调用任何实现 UserInterface
的实例,如下所示:
另一个遥控器中的任意函数class:
public void showNickName(<T extends UserInterface>T user){
system.out.println(user.make_nickname());
}
T
用于表示 UserInterface
的(通用)实现 class。
但在这里我称它为 <T exnteds UserInterface>
据我所知暗示 T 是一个 subclass(不是 实现 class ) UserInterface
.
这是调用 UserInfo
实例的合法语法吗?
上面的代码似乎对我有用。
欢迎任何反馈。
如Java tutorial on bounded type parameters所述:
In generics context, extends is used in a general sense to mean either "extends" (as in classes) or "implements" (as in interfaces).