今天在一次采访中,有人问我是否可以在JAVA中进行多重继承,我说可以通过实现多个接口来实现,但不完全是,她回答说可以,可以通过组成... 我不确定这是否正确。如果是,那么请问您能如何精确解释代码片段?
答案 0 :(得分:0)
Java不支持类的多重继承,它只能对接口进行支持。
组合是通过以下方式从您的类中访问外部类的某些方法/字段的一种方式:
//This is a pseudo-code. Don't compile!
class YourClass{
private ExternalClass obj;
private AnotherExternalClass obj1;
//initialize obj, obj1 in constructor
public String getName(){
return obj.getName();
}
public String getTitle(){
return obj1.getTitle();
}
}
class ExternalClass{
private String Name;
//constructor to initialize Name ...
public String getName(){
return this.Name;
}
}
class AnotherExternalClass{
private String Title;
//constructor to initialize Title ...
public String getTitle(){
return this.Title;
}
}
通过这种编码风格,YourClass现在可以访问ExternalClass的getName方法,访问者可能将其称为某种“继承”类型。