Java 如何同时访问不同类的两个方法?
在一次采访中,我被问到以下问题 假设有一个类A具有方法Java 如何同时访问不同类的两个方法?,java,oop,methods,extends,Java,Oop,Methods,Extends,在一次采访中,我被问到以下问题 假设有一个类A具有方法drawShape(),还有一个类B具有方法drawSquare() 现在有第三类C扩展了a和B 最后,在我的C类中,我想要这两种方法 如何同时获得这两种方法?现在有第三类C扩展了a和B 在Java中,不能扩展到多个类 如果您想,您可以将B扩展到A,然后将C扩展到B,这样您应该能够访问这两种方法现在有第三类C同时扩展A和B 在Java中,不能扩展到多个类 如果需要,可以将B扩展到A,然后将C扩展到B,这样您应该能够访问这两种方法不要因为Jav
drawShape()
,还有一个类B具有方法drawSquare()
现在有第三类C扩展了a和B
最后,在我的C类中,我想要这两种方法
如何同时获得这两种方法?
现在有第三类C扩展了a和B
在Java中,不能扩展到多个类
如果您想,您可以将B扩展到A,然后将C扩展到B,这样您应该能够访问这两种方法
现在有第三类C同时扩展A和B
在Java中,不能扩展到多个类
如果需要,可以将B扩展到A,然后将C扩展到B,这样您应该能够访问这两种方法不要因为Java不支持而进行扩展,而是可以使用接口:
interface IA{
void drawshape();
}
inerface IB{
void drawsquare();
}
class A implements IA{
...
}
class B implements IB{
...
}
class C implements IA,IB{
private A a;
private B b;
void drawshape(){
a.drawshape()
}
void drawsquare(){
b. drawsquare()
}
}
不要因为Java不支持而扩展,相反,您可以使用接口:
interface IA{
void drawshape();
}
inerface IB{
void drawsquare();
}
class A implements IA{
...
}
class B implements IB{
...
}
class C implements IA,IB{
private A a;
private B b;
void drawshape(){
a.drawshape()
}
void drawsquare(){
b. drawsquare()
}
}
Java不支持多类继承:一个类只能扩展另一个类 相反,您可以使用组合(在类中包含类)来实现所要求的:
Class C {
A a = new A();
B b = new B();
...
}
现在
C
可以通过执行a.drawShape()
或b.drawSquare()
来访问任何一个方法。Java不支持多类继承:一个类只能扩展另一个类
相反,您可以使用组合(在类中包含类)来实现所要求的:
Class C {
A a = new A();
B b = new B();
...
}
现在
C
可以通过执行a.drawShape()
或b.drawSquare()
来访问这两种方法中的任何一种,您应该真正开始阅读Java是如何工作的。“现在有第三个名为C的类正在扩展类a和类b”,这在Java中是不可能的。Java不支持多重继承。您应该真正开始阅读Java的工作原理。“现在有第三个名为C的类,它扩展了类a和类B”,这在Java中是不可能的。Java不支持多重继承。