【问题标题】:How to extend two library class in java class android [duplicate]如何在java类android中扩展两个库类[重复]
【发布时间】:2013-09-30 05:41:54
【问题描述】:

我想在一个 java 类中扩展两个库类文件。怎么做。

【问题讨论】:

  • 你不能在一个java类中扩展多个,你到底想做什么,你能详细解释一下吗?
  • 你能给出更多解释吗?您想在类中扩展哪两个类?只需将这两个类的原型粘贴到此处即可。

标签: android inheritance extends


【解决方案1】:

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

您只能扩展一个单个类。并实现多种来源的接口。

扩展多个类不可用。

您可以使用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

【讨论】:

  • 如何调用嵌套类中的方法。
  • 我想从另一个类调用内部类中的一个方法。如何调用该方法。
  • @user:我已经编辑了我的答案。
  • 谢谢你..如何在android中使用intent调用内部类
【解决方案2】:

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

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

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

public class A extends Activity

public class B extends A

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

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

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

希望我能帮上忙 很抱歉这个坏消息:)

【讨论】:

    猜你喜欢
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 2022-11-21
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多