This question already has answers here:
Since a class in Java cannot extend multiple classes. How would I be able to get by this? [closed]
(4个答案)
26天前关闭。
我正在尝试在视频播放器中添加https://github.com/mdg-iitr/Swipper
所以我加了
我收到一个错误,因为Java无法扩展多个类,那么解决方案是什么?
由于根据Swipper文档,实现Swipper的唯一方法是
但是,我还需要导入AppCompatActivity。
(4个答案)
26天前关闭。
我正在尝试在视频播放器中添加https://github.com/mdg-iitr/Swipper
所以我加了
public class VideoPlayerActivity extends AppCompatActivity, Swipper {
//Code
我收到一个错误,因为Java无法扩展多个类,那么解决方案是什么?
由于根据Swipper文档,实现Swipper的唯一方法是
public class MainActivity extends Swipper{}
但是,我还需要导入AppCompatActivity。
最佳答案
扩展类是Java中一个棘手的问题。
实现此目的的一种方法是改善代码隔离,它是创建另一个扩展Swipper的类B。在那里,您将创建与之交互所需的公共方法。
在VideoPlayerActivity类中,创建B的实例,或将其作为参数传递。 VideoPlayerActivity仅与类B交互,因此无需从Swipper继承VideoPlayerActivity。
这样VideoPlayerActivity可以扩展AppCompatActivity
class B extends Swipper{
int a,b;
//override swipper functions
@Override
public void play(){
}
}
class VideoPlayerActivity extends AppCompatActivity{
B instanceB = new B();
public void play(){
instanceB.play();
}
//instead of calling directly, since this class does not extends swipper, you call that function of class B, that extenda Swipper
public void inheritedFunction(){
instanceB.inheritedFunction()
}
}
关于java - 使用AppCompatActivity和Swipper扩展具有多个类的java ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62005659/
10-10 18:56