Sí, un ArrayList acepta Object, así que acepta cualquier clase, incluso mezcladas, en el mismo ArrayList.
Desde java 5 puede declararse así un ArrayList
Código Java:
Ver originalArrayList<UnaClase> variable = new ArrayList<UnaClase>();
con lo que limitas el tipo de objetos que acepta. En este ejemplo solo aceptaría UnaClase o clases hijas de UnaClase. Y podrías meter hijas distitnas y UnaClase entremezclados en ese ArrayList.
Se bueno.