A relatively new feature for Blender is supported in Edit Mode by default for multi-object editing. What this allows is for completely independent and separate OBJECTS to be edited as part of a larger editable group of objects in Edit Mode, for example three independent cube meshes selected and edited as a unit without needing to be joined (Ctrl + J) beforehand.
Design note: for Blender 2.79 or earlier multi-object editing is only available as a third-party AddOn.
Working with multiple objects in Edit Mode  is as simple as selecting each object in Object Mode first , Shift + [click] (left or right depending on mouse set-up), to create a selection group , then toggling into Edit Mode using the Interaction Mode selector  or pressing the Tab key. Only those objects selected and forming the group will be available for modification.
It’s now possible to edit multiple objects at the same time, separate meshes that form a larger selection group, without needing to join them together into a single mesh beforehand. This is available by default – Shift + select several items and Tab into Edit Mode.
Exit Multi-Object Editing
Once in Edit Mode each of the objects within the larger group can be edited as though they are part of the same mesh (joined together)  without the need to physically Join them together (Ctrl + J). Once finished exit Edit Mode toggling back to Object Mode  (Tab or Interaction Mode option), the individual objects remain separate but modified per any Edit Mode changes .
Design note: when exiting multi-object editing in Edit Mode the last item modified will be the become the basis upon which Blender sets the active object on returning to Object Mode.
Simple edit to each mesh illustrating how each object is editable as part of the larger group  whilst remaining separate on reverting back to Object Mode  – the last item selected will be the Active object (outlined brighter orange).