如何在java类android中扩展两个库类

时间:2013-09-30 05:41:54

标签: android inheritance extends

我想在java类中扩展两个库类文件。如何做到这一点。

2 个答案:

答案 0 :(得分:0)

您尚未提供有关该问题的更多详细信息。

您只能扩展单个班级。并实现来自多个来源的接口。

无法扩展多个类。

您可以使用nested classesinner classes

class A extends B {

 private class C extends D {

    // A , B , C , D accessible here 

  }
}

为什么要使用嵌套类?

使用嵌套类的令人信服的理由包括:

  • 这是一种逻辑分组仅在一个地方使用的类的方法:如果一个类只对另一个类有用,那么将它嵌入该类并将两者保持在一起是合乎逻辑的。嵌套这样的“助手类”使他们的包更加简化。
  • 它增加了封装:考虑两个顶级类A和B,其中B需要访问A的成员,否则这些成员将被声明为私有。通过将类B隐藏在类A中,可以将A的成员声明为私有,并且B可以访问它们。此外,B本身可以隐藏在外面的世界中。
  • 它可以带来更易读和可维护的代码:在顶级类中嵌套小类会使代码更接近于使用它的位置。
  • when to use nested classes

您可以在link

上找到更多解决方案

修改

这是你评论的答案。你想在内部类中调用外部类的方法。这是一个例子。

class Outer {
void show() {
    System.out.println("inside outter show");
}

class Inner{
    void show() {
        Outer.this.show();  //this is calling Outer class method into Inner class
        Example e = new Example(); //create object of another class
        e.show(); //call to method
        System.out.println("inside inner show");
    }
}

public static void main(String[] args) {
    Outer o = new Outer();
    Inner i = o.new Inner();  //create an object of Inner class
    i.show();   //this is calling Inner class method from outside method

 }
}

class Example
{
    void show()
    {
       System.out.println("inside example show");
    }
}

输出:

inside outter show
inside example show
inside inner show

答案 1 :(得分:0)

不幸的是,在JAVA中,您只能扩展一个类,这意味着每个类只能扩展一个类。你可以实现许多接口,但不能扩展。

然而,有些方法可以超越它,你可以将libs公开然后包含它们以便你可以创建一个实例并使用它们的函数,你可以创建一个内部类并将其用于任何目的你需要......

您还可以创建一个扩展链,如:

public class A extends Activity

public class B extends A

因此B将扩展......两种

当我们不确切地知道这个问题时,它会为你提供一个有效的解决方案,你的意思是添加支持库吗?添加SDK?或者真正扩展两个类(这是不可能直接的)。

@Aniket给了你一个如何解决这个问题的例子......

希望我帮忙 对不起坏消息:)