Saving objects from different classes into the same array

Thank you for your reply I spent a while trying to configure my code to work with your suggestions and logic and I do need a little assistance understanding it all.
Creating a level class allows me to create objects for each level. I can pass various variables and objects as constructors.

ArrayList walls;
ArrayList keys;
ArrayList goals;

these 3 lines creates the notion of “a list of walls, a list of keys, and a list of goals”. implying that any level can be expressed as a list of objects ranging between walls keys and goals. Now I can place the specific wall, key, and goal objects through the level object by creating constructors. Those level constructors r list of objects of each.
when creating a level object, keep in mind not every level contains everything, so when making constructors, b sure to make multiple constructors for every level possibility. every level contains walls, the main player, and a goal. Keys arent introduced til level 3, enemies at level 5, and moving walls til level 3 (which might not matter) so many level constructors must be created.
I’m making a list of levels using Level[] level = new Level[100]; then in draw I’m calling upon each level using levels[0] = new Level(walls[0 through 3], player[0], goals[0]); and Ill use whatever list range that I need for those specific level.
In general spending several hours a day thinking through all this will help but I somehow feel a bit stuck. This comment is mostly me thinking out loud.