【发布时间】:2013-09-30 05:41:54
【问题描述】:
我想在一个 java 类中扩展两个库类文件。怎么做。
【问题讨论】:
-
你不能在一个java类中扩展多个,你到底想做什么,你能详细解释一下吗?
-
你能给出更多解释吗?您想在类中扩展哪两个类?只需将这两个类的原型粘贴到此处即可。
标签: android inheritance extends
我想在一个 java 类中扩展两个库类文件。怎么做。
【问题讨论】:
标签: android inheritance extends
您尚未提供有关该问题的更多详细信息。
您只能扩展一个单个类。并实现多种来源的接口。
扩展多个类不可用。
您可以使用nested classes 或inner classes
class A extends B {
private class C extends D {
// A , B , C , D accessible here
}
}
为什么要使用嵌套类?
使用嵌套类的令人信服的原因包括:
你可以在这个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
【讨论】:
不幸的是,在 JAVA 中您只能扩展一个类,这意味着每个类只能扩展一个类。您可以实现许多接口,但不能扩展。
但是,您可以通过多种方式超越它,您可以将库公开然后包含它们,这样您就可以创建一个实例并使用它们的功能,您可以创建一个内部类并将其用于任何目的你需要...
您还可以创建一个扩展链,例如:
public class A extends Activity
public class B extends A
所以 B 将扩展两者......有点
当我们不完全了解问题时,很难为您提供有效的解决方案,您的意思是添加支持库吗?添加SDK?或者真的扩展两个类(这是不可能的)。
@Aniket 给了你一个如何解决这个问题的例子……
希望我能帮上忙 很抱歉这个坏消息:)
【讨论】: