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 теперь есть доступ кМетод getName ExternalClass, который интервьюер может называть неким типом «наследования»