Сначала, чтобы прояснить это, каждый Class
в Java расширяет тип Object
. Нечто подобное String
также является Object
.
«Многие объекты» относятся к тому, как мы можем использовать различные объекты в качестве полей внутри компонента. Это создает отношение has-a с бобом к вашему Objects
.
Например, скажем, у нас есть это Bean
:
public class YourBean implements java.io.Serializable {
private String s;
private ArrayList<String> list;
//Omitted rest of bean boilerplate
}
Этот пример будет содержать два разных Object
s внутри него, String s
и ArrayList<String>
с именем list
. Вы можете добавить столько различных Objects
и примитивов к вашему компоненту, сколько захотите.
Чтобы создать компонент с помощью конструктора без аргументов, вы должны использовать:
YourBean bean = new YourBean();
И Вы можете установить и получить значения Objects
, инкапсулированные в:
ArrayList<String> yourList = new ArrayList<>();
bean.setList(yourList);
System.out.println(bean.getList());
Таким образом, вы сможете ссылаться на все Objects
внутри компонента, ссылаясь на компонент Object
I по имени bean
.
Кроме того, вы также можете создать несколько одинаковых типов bean
, поэтому каждый раз, когда вы делаете new YourBean()
, вы также сможете использовать все Objects
, содержащиеся в нем.
Эта функциональность не уникальна для Bean
, вы можете сделать это любым Class
, скорее Bean
- это термин, используемый для описания определенного c способа написания некоторых классов.
Я рекомендую изучить Java Композицию , чтобы узнать, когда следует использовать отношение has-a , а не наследование , которое является is-a отношения.