我已经创建了一个类,其中包含一个带有我的应用程序徽标的自定义标题栏。这种方法很有效,但对于我的大多数类,我需要能够继承该功能以及ListActivity的功能。怎么办?
任何帮助表示感谢。
答案 0 :(得分:8)
你应该赞成组合(和委托)而不是继承:
public interface FirstClassInterface {
void method1();
}
public interface SecondClassInterface {
void method2();
}
public class FirstClass implements FirstClassInterface {
// ...
}
public class SecondClass implements SecondClassInterface {
// ...
}
public class FirstAndSecondClass implements FirstClassInterface , SecondClassInterface
{
private FirstClassInterface firstclass;
private SecondClassInterface secondclass;
public FirstAndSecondClass(FirstClassInterface firstclassinterface, SecondClassInterface secondclassinterface) {
this.firstclass= firstclassinterface;
this.secondclass= secondclassinterface;
}
public void method1() {
this.firstclass.method1();
}
public void method2() {
this.secondclass.method2();
}
public static void main(String[] args) {
FirstAndSecondClass t = new FirstAndSecondClass(new FirstClass(), new SecondClass());
t.method1();
t.method2();
}
}
答案 1 :(得分:3)
在Java中,不能拥有:
class MyClass extends ClassA, ClassB { ... }
根据您的工作情况,可以使用:
class ClassB extends ClassA { ... }
class MyClass extends ClassB { ... }