Lanzar objeto (tipo doble) a int

Ok, entonces si tengo este código

double a=1.5;
int b=(int)a;
System.out.println(b);

Todo funciona bien, pero

Object a=1.5;
int b=(int)a;
System.out.println(b);

da el siguiente error después de ejecutarse (Eclipse no da ningún error)

java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Integer

Aunque cuando lo hago

Object a=1.5;
double b=(double)a;
int c=(int)b;
System.out.println(c);

o

Object a=1.5;
int b=(int)(double)a;
System.out.println(b);

Nada está mal otra vez.

¿Por qué tienes que lanzarlo adouble primero ?

Respuestas a la pregunta(3)

Su respuesta a la pregunta