Duda clase Calendar-Abstracta
Buenos dias... no logro entender porqué se declara la clase Calendar como abstract y sin embargo a través del método getInstance se puede instanciar un objeto de dicha clase ¿ no se supone que de una clase abstracta sólo se pueden derivar (extend) otras clases y que no deberÃan poderse instanciar objetos de clases abstractas ? ¿ o me he perdido en algun punto ?
Saludos
Saludos
Una clase abstracta no se puede instanciar, pero sà declarar, y en el método lo que hacen es declarar el tipo; si llamas al método getClass().getName() sabrás en tiempo de ejecución qué subclase es realmente; aunque te recomiendo que no hagas un cast a dicha clase, aunque tenga mayor funcionalidad, porque si se declara Calendar, en el futuro podrÃa devolverse otra subclase y tu código quedarÃa inservible.
Espero haberte aclarado la duda.
Espero haberte aclarado la duda.
