gpt4 book ai didi

java - 扩展类并实现接口(interface)的通用类

转载 作者:IT老高 更新时间:2023-10-28 20:26:07 26 4
gpt4 key购买 nike

为了减少类的依赖,我想将参数(使用泛型类)发送到扩展某些类并实现接口(interface)的构造函数,例如

public interface SomeInterface{
public void someMethod();
}

public class MyFragment extends Fragment implements SomeInterface{
//implementation
}

//here is classs, that I need to create. T must extend Fragment and implements
//SomeInterface. But, I'm afraid, if I'll use MyFragment directly, it will create a
//dependence of SomeClass from MyFragment.

public class SomeClass /*generic?*/ {
public SomeClass(T parent);
}

有可能吗?

此外,使用我的 T 类,我想创建 View ,使用 T.getActivity() 作为上下文。

最佳答案

T must extend Fragment and implement SomeInterface

在这种情况下,您可以将 SomeClass 声明如下:

public class SomeClass<T extends Fragment & SomeInterface>

这需要 T 类型的对象来扩展 Fragment 并实现 SomeInterface

Further, using my T class, I want to create views, using T.getActivity() as Context.

我对 Android 不熟悉,但是如果 getActivity() 是在 Fragment 中声明的公共(public)实例方法,那么完全可以在 T,因为编译器会知道所有 T 都必须继承该方法。

关于java - 扩展类并实现接口(interface)的通用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8871285/

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