我想在一个 java 类中扩展两个库类文件。如何做到这一点。
问问题
8678 次
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 回答