0

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

4

2 回答 2

0

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

但是,您可以通过多种方式超越它,您可以将库公开然后包含它们,这样您就可以创建一个实例并使用它们的功能,您可以创建一个内部类并将其用于您需要的任何目的。 ..

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

public class A extends Activity

public class B extends A

所以 B 将扩展两者......有点

当我们不完全了解问题时,它很难为您提供有效的解决方案,您的意思是添加支持库吗?添加SDK?或者真的扩展两个类(这是不可能的)。

@Aniket 给了你一个如何解决它的例子,可以这么说......

希望我对这个坏消息感到抱歉:)

于 2013-09-30T06:06:23.353 回答
0

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

您只能扩展一个。并实现来自许多来源的接口。

扩展多个类不可用。

您可以使用嵌套类内部类

class A extends B {

 private class C extends D {

    // A , B , C , D accessible here 

  }
}

为什么使用嵌套类?

使用嵌套类的令人信服的原因包括:

  • 这是一种对仅在一个地方使用的类进行逻辑分组的方法:如果一个类仅对另一个类有用,那么将其嵌入该类并将两者放在一起是合乎逻辑的。嵌套这样的“帮助类”使它们的包更加精简。
  • 它增加了封装性:考虑两个顶级类 A 和 B,其中 B 需要访问 A 的成员,否则这些成员将被声明为私有。通过将类 B 隐藏在类 A 中,可以将 A 的成员声明为私有的,并且 B 可以访问它们。此外,B 本身可以对外界隐藏。
  • 它可以导致代码更易读和更可维护:在顶级类中嵌套小类可以使代码更接近使用它的位置。
  • 何时使用嵌套类

您可以在此链接上找到更多解决方案

编辑

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

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
于 2013-09-30T06:01:31.640 回答