Buscar este blog

viernes, 28 de febrero de 2014

EJEMPLOS DE MODELOS 111, 130 y 303









MODELO 111


I TRIMESTRE II TRIMESTRE III TRIMESTRE IV TRIMESTRE TIPO
TRABAJADORES LORENZO 6000 6000 6000 6000 18,00%
MARIA JOSE 5000 5000 5500 5500 17,00%
JACOBO 4800 4800 4800 4800 14,00%
MANU GORRIZ 6200 6200 6400 6400 20,00%
PROFESIONALES ISABEL 10000


21,00%
LOLA
8000 2000 2000 21,00%
PREMIO VERONICA


1000 21,00%







CUOTAS






LORENZO 1080 1080 1080 1080

MARIA JOSE 850 850 935 935

JACOBO 672 672 672 672

MANU GORRIZ 1240 1240 1280 1280

ISABEL 2100
0 0

LOLA
1680 420 420

VERONICA


210
SUBTOTALES





TRABAJADORES
3842 3842 3967 3967
PROFESIONALES
2100 8000 2000 2000
PREMIO



210
MODELO 130


I TRIMESTRE II TRIMESTRE III TRIMESTRE IV TRIMESTRE

INGRESOS 40000 42000 38000 50000

GASTOS 35000 30000 25000 28000








MODELO 303


I TRIMESTRE II TRIMESTRE III TRIMESTRE IV TRIMESTRE

VENTAS 21% 20000 21000 19000 25000

VENTAS 10% 12000 13000 10000 20000

VENTAS 4% 8000 8000 9000 5000




GASTOS CORRIENTES





INTERIORES AL 21% 19000 10000 8000 14000

INTERIORES AL 10% 10000 15000 12000 6000

GASTOS IMPORTACIONES





21,00% 6000 3000
4000

10,00%
2000 5000 4000

INVERSIONES 21% 15000

10000





























TEST 6, 7, 8 y 9 ANDROID

6.-Multimedia y ciclo de vida
¿Cuándo hay que utilizar los métodos del ciclo de vida?
Siempre que necesitemos utilizar el API multimedia
Para arrancar y detener servicios
x Cuando queramos que nuestra actividad se comporte de forma diferente cuando esté en estado: activa, visible, parada o destruida.
Todas las respuestas son correctas

Has arrancado una animación en el método onResume() ¿En qué método tendrías que detenerla?
x onPause()
onStop()
onDestroy()
Cualquier método sería valido

¿Qué tres métodos son llamados cuando se arranca por primera vez una actividad?
onStart(), onCreate() y onRestart()
onStart(), onCreate() y onResume()
x onCreate(), onStart() y onResume()
onRestart(), onStart() y onCreate()

¿Qué dos métodos del ciclo de vida de una activar pueden no ser llamados en caso de extrema necesidad de memoria? (selecciona dos) 
onStart() y onStop()
x onStop() y onDestroy()
onResume() y onPause()
onRestart() y onPause()
________________________________________________________

El sistema Android necesita memoria ¿Qué aplicación será eliminada, conocido el estado de sus componentes?
Teléfono: 1 actividad ACTIVA
WhatsApp: 1 actividad VISIBLE y 1 servicio
x Contactos: 3 actividades PARADAS
Correo: 1 actividad PARADA y 1 servicio

¿Cuándo es interesante guardar el estado de una actividad?
Por si es destruida por falta de memoria y más tarde es vuelta a crear.
Si nuestra aplicación se visualiza en vertical y horizontal.
x Las dos respuestas anteriores son ciertas

¿Qué método utilizarías para guardar el estado de una actividad de forma totalmente fiable?
onSaveInstanceState()
onRestoreInstanceState()
x onPause()
onStop()
onDestroy()
_______________________________________________________

Cuál es la clase más importante en Android para reproducir todo tipo de formatos multimedia?
MediaControler
VideoView
x MediaPlayer
SoundPool

¿Cuál es la forma más fácil de incluir un video en un Layout?
MediaPlayer
MediaControler
x VideoView
SoundPool

Si usas SoundPool tienes que indicar con antelación la lista de ficheros a reproducir ¿Con que finalidad?
Para tenerlos cargados en memoria y reproducirlos más rápidamente
x Para decodificarlos antes de ser reproducidos
Para poder establecer las prioridades en la reproducción
Para verificar que los formatos son soportados

¿Cuándo indicamos la lista de ficheros a reproducir qué formatos admite SoundPool?
x Todos los formatos de audio soportados por MediaPlayer
PCM de 16 bits
Todos, con excepción de MIDI
_______________________________________________________
_______________________________________________________
7.-Seguridad y posicionamiento en Android


¿Cómo se garantiza la autoría de una aplicación en Android?
Al descargarla de un canal de distribución seguro como Android Market
Gracias al nombre del paquete de Java
x Gracias a la firma digital
Gracias al usuario Linux asignado a cada aplicación

¿Cuál de los siguientes sistemas es más seguro para un usuario sin ningún tipo de conocimiento en informática?
x iOS de Apple (iPhone/iPad)
Android
Antiguo Windows Mobile / Windows 7

Una aplicación solicita acceso para modificar/borrar los ficheros en la SD ¿Cómo podemos confiar en que una aplicación Android no borrará todos los ficheros?
x Descargándola de un canal de distribución seguro o verificando que otros usuarios no han tenido problemas.
Gracias a la firma digital.
Estudiando la lista de permisos que solicita la aplicación.
Gracias al usuario Linux asignado a la aplicación.

¿Cómo podemos conseguir que el código de dos aplicaciones se ejecute en un mismo proceso?
Para ello han que utilizar el mismo usuario Linux.
Hay que definir el mismo valor para sharedUserId en AndroidManifest.xml.
Para ello ambas aplicaciones han de estar firmadas con el mismo certificado digital.
x Todas las afirmaciones son ciertas.

¿Cuáles de las siguientes alternativas nos da pocas garantías de seguridad a la hora de instalar una aplicación en Android?

Usar un canal seguro, como Google Play, y un desarrollador de confianza.
Usar un canal de distribución no seguro, como Aptoide, pero la aplicación no solicita permisos de importancia para nosotros.
x Se trata de una aplicación muy conocida, como WhatsApp.

¿Cuándo se avisa al usuario de que una aplicación va a ejecutar una acción que puede comprometer la seguridad del sistema?
x Al instalar la aplicación
En el momento de realizar la acción
En el momento de arrancar la aplicación


¿Cuál es el mayor inconveniente del sistema de permisos en Android?
Impide a las aplicaciones realizar muchas de las acciones.
x Deja en el usuario decisiones para los que muchos usuarios no están preparados.
Solo podemos descargar aplicaciones de forma segura desde Android Market.


¿Para qué es interesante la creación de nuevos permisos?
Para permitir el acceso a ficheros de otras aplicaciones.
Para impedir el acceso al código de nuestras aplicaciones.
x Para permitir el acceso al código de nuestras aplicaciones, advirtiendo a los usuarios finales.
Todas las respuestas son correctas.
_______________________________________________________
_______________________________________________________
8. Servicios, notificaciones y receptores de anuncios

¿Qué diferencia hay entre un servicio y una actividad?
x Un servicio no interactúa de forma directa con el usuario
Una actividad no puede trabajar en segundo plano
Un servicio está siempre activo

En el ciclo de vida de un servicio ¿Qué ventajas ofrece el método onStartCommand() frente a onStart?
Podemos arrancar el servicio en un nuevo hilo de ejecución.
Esta disponible en todas las versiones de Android
x Podemos controlar como actuará el sistema en caso de tener que destruir el servicio

¿Cómo puedes detener un servicio?
Llamando a onDestroy()
Llamando a onStop()
x Llamando a stopService() o stopSelf()

¿Qué método hay que gastar para conectarnos a un servicio remoto?
startService()
x bindService()
createService()

--------------------------------------------------
¿Quién puede lanzar una notificación?
Un servicio
Una actividad
Un receptor de anuncios
x Todas las respuestas son ciertas

¿Hay que pedir un permiso para lanzar una notificación?
Siempre
Nunca
x Solo si queremos que vibre el teléfono
Solo si queremos que se encienda un LED

¿Qué finalidad tenía introducir android:launchMode=”singleTask” en AndroidManifest.xml?
Hacer que una actividad solo pueda lanzar una notificación una vez
Impedir que una notificación pueda lanzar una activad
x Impedir que una actividad se lance más de una vez

¿Cuándo desaparece una notificación de la barra de estado?
Cuando el componente que la creó es destruido
x Cuando el usuario la borra desde el listado de notificaciones.
Cuando se llama al método NotificationManager.destroy(int id)
--------------------------------------------------------------

¿Qué métodos tienen los receptores de anuncio en su ciclo de vida?
x onReceive()
onCreate()
onDestroy()
Todas las respuestas son correctas


Desde un receptor de anuncio podemos…
Unirnos a un servicio con bindService()
x Arrancar una actividad
Hacer operaciones largas que bloqueen el hilo de ejecución
Mostrar un Toast


¿Hay que pedir un permiso para recibir un anuncio broadcast?
Siempre (RECIVE_BROADCAST)
Nunca
x Solo con algunos

Es obligatorio registra un receptor de anuncios en AndroidManifest.xml
Si, igual que con servicios y actividades
x No, podemos hacerlo desde código con registerReceiver()
Si, si no lo hacemos provocaremos un error en ejecución
----------------------------------------------------------------
-----------------------------------------------------------------
Unidad 9-Almacenamiento de datos

¿En qué ruta se utiliza por defecto en los métodos openFileInput(), openFileOutput(),getFilesDir(), getDir(), deleteFile() y fileList()? Correcto Incorrecto
x /data/data/[nombre_del_paquete]/files
/Android/data/[nombre_del_paquete]/files
/archivos de programa/[nombre_del_paquete]
La raíz de la memoria interna


¿Que método es recomendable utilizar para leer un fichero de la memoria externa? Correcto Incorrecto
openFileInput()
openFileOutput()
getFilesDir()
x getExternalStorageDirectory()


Queremos almacenar un fichero en la memoria externa que sea eliminado cuando se desinstale la aplicación. ¿Qué tendremos que hacer?
Usar el método getExternalFilesDir(String file), indicando en el parámetro el nombre del fichero
Esto no es posible, tendríamos que almacenarlo en la memoria interna
Crearlo en la carpeta /sdcard/Android/data/[nombre_del_paquete]/files/. Aunque solo se eliminará si la aplicación se crea para una versión 2.2 o superior.
x Crearlo en la carpeta /sdcard/Android/data/[nombre_del_paquete]/files/. Aunque solo se eliminará si la aplicación se instala en un dispositivo con versión 2.2 o superior.

¿Por qué es interesante almacenar los ficheros en las carpetas Music, Podcast, Ringtones, Pictures.
Para asegurarnos que no sea borrados al desinstalar la aplicación
Todas las respuestas son correctas
x Para ayudar al escáner de medios
Para que otros usuarios puedan acceder a ellos

------------------------------------------------------------------
¿Cuál es la principal ventaja de utilizar ficheros en XML?
Es muy sencillo manipular un fichero en este formato
Ocupa muy poco espacio de almacenamiento
x Es un formato estándar ampliamente utilizado
Está optimizado para localizar rápidamente la información


¿Qué ventaja presenta DOM frente a SAX para manipular ficheros XML?
En caso de ficheros grandes, es más rápido.
Consume menos recursos.
x No es necesario definir una estructura para almacenar los datos.
Todas las respuestas son ciertas.


Utilizando SAX queremos procesar el siguiente fichero XML: ¿Qué método utilizaríamos para obtener el valor de atributo?
startDocument()
x startElement()
characters()
endElement()
endDocument()


Hemos creado un documento XML utilizando DOM ¿Qué clase utilizaríamos si queremos escribirlo en un fichero?
x Transformer (siempre que trabajemos con un nivel de API 8 o superior)
XmlSerializer
XMLReader
XMLWriter
_________________________________________________________________

¿Cuál es la principal ventaja de utilizar Bases de Datos? C
Podemos realizar búsquedas de forma muy rápida.
Podemos borrar o insertar información sin tener que rescribir toda la información.
Podemos organizar la información en forma de tablas y establecer relaciones entre los campos e diferentes tablas.
x Todas las respuestas son correctas

¿Qué método hay que utilizar si queremos escribir en una base de datos con SQLite?
SQLiteOpenHelper()
getDatabase()
x getWritableDatabase()
getReadableDatabase()

¿Cuáles de los siguientes métodos de la clase SQLiteDatabase tiene más parámetros?
x query()
rawQuery()
execSQL()
------------------------------------------------------

¿Cuál es la principal razón para crear un ContentProvider?
x Cuando quieras compartir datos con otras aplicaciones.
Si necesitas almacenar datos de forma persistente.
Para poder realizar búsquedas por medio de SQL.

¿Cuál de las siguientes URI es válida para indicar un ContentProvider?
Content://call_log/calls/2
contentProvider://browser/bookmarks)
provider://media/internal
x content://media/*/audio

Estas visualizando el registro de llamadas de un móvil ¿Quién puede haber escrito estas entradas?
El sistema cada vez que se recibe una llamada.
x Cualquier aplicación que haya pedido el permiso WRITE_CALL_LOG.
Cualquier aplicación que haya pedido el permiso READ_CALL_LOG.
Todas las respuestas son correctas.

Queremos crear un ContentProvider ¿Cuál de las siguientes tareas no es imprescindible?
Definir una estructura de almacenamiento persistente, que permite búsquedas con SQL
Extender la clase Content. En concreto hay que sobrescribir los métodos getType(), query(), insert(), delete() y update().
x Solicitar los permisos necesarios.
Declararlo en AndroidManifest.xml

sábado, 22 de febrero de 2014

ACTIVIDADES UNIDAD 1 REPASO DE JAVA.

Actividad 1.2

Relaciona la frase con un término: “Una clase ha de ocultar su implementación”
Polimorfismo
xEncapsulamiento
Enlace dinámico
Herencia

Relaciona la frase con un término: “A partir de una clase podemos crear una nueva, indicando solo las diferencias”
Polimorfismo
Encapsulamiento
Enlace dinámico
xHerencia

Relaciona la frase con un término: “Un objeto pertenece a la clase en la que se ha creado, pero también a todas las predecesoras”
xPolimorfismo
Encapsulamiento
Enlace dinámico
Herencia

Relaciona la frase con un término: “Los objetos pueden venir de cualquier sitio. El lincado se hace en ejecución”
Polimorfismo
Encapsulamiento
xEnlace dinámico
Herencia

Actividad 1.3

Versión Texto

¿Qué elemento no se incluye en el paquete ADT (Android Development Toolkit) ofrecido por Google?
Eclipse IDE con un plugin especial para Android.
Android SDK (Software Development Kit) y las herramientas de la plataforma.
xAndroid Studio
La última plataforma Android

Comprobar respuestas

xDesde Eclipse podemos acceder a la herramienta Android SDK Manager ¿Con que finalidad?
Descargar paquetes con nuevas versiones de la plataforma y herramientas.
Instalar el Plugin de Android en Eclipse.
Verificar si Java está instalado en el equipo.

Actividad 1.4

¿Cómo identificarías el siguiente elemento?
public Vehiculo() { … }
una Clase
un método
xun constructor
un atributo

¿Cuál de los siguientes elementos es un atributo?
public Vehiculo() { … }
public int vehiculo() { … }
xpublic int vehiculo;
class Vehiculo { … }

¿Cuál de los siguientes identificadores corresponde a una clase y no a un tipo simple?
xString
int
char
boolean

¿Para qué se utiliza la palabra reservada this en la siguiente sentencia?
this.variable = variable
Para indicar que el nombre de la clase es this.
xPara indicar que nos referimos a un atributo de la clase y no a una variable o parámetro con el mismo nombre.
Para indicar que estamos en un constructor

Actividad 1.5

Indica la forma correcta de declarar un objeto
Clase c = Clase(String, double);
xClase c = new Clase(“hola”, 3.0);
Clase c = new Clase(String, double);
public c = new Clase();

Indica la forma correcta de llamar al método, metodo, del objeto objeto.
metodo(objeto);
xobjeto.metodo();
objeto=>metodo;
Objeto objeto = new Objeto.metodo();

¿Qué finalidad tiene la siguiente construcción en Java?
public static void main(String[] main) {…}
xEs el método que se llama para comenzar la ejecución de un proyecto.
Declarar el método principal de inicio que ha de disponer toda clase.
Declarar un método público.

Actividad 1.7

¿Qué es el interface de una clase en Java?
La parte de la clase marcada con public
Los atributos y métodos accesibles desde fuera de la clase
La forma en que un objeto de esta clase puede ser utilizado
xTodas las respuestas son correctas

¿Qué visibilidad indica que un atributo o método ha de ser accesible sólo por la clase actual, sus descendientes y clases de nuestro paquete?
public
private
xprotected
no se indica nada

¿Cuál de los siguientes métodos es correcto?
public double setReal() {
return real;
}
public void setReal(double real) {
return real;
}
public void getReal() {
return real;
}
xpublic void setReal(double real) {
this.real = real;
}

Actividad 1.9

¿Cómo se llamaría al siguiente métodos desde una clase hija?
private void metodo() { … }
super.metodo();
xsuper();
No podría hacerse la llamada

¿Qué repercusión tiene poner los atributos como private en la herecia?
Hace que la herencia sea imposible, los hijos no podrán acceder a los atributos.
xObliga a los hijos a usar métodos getters y setters, lo cual es menos eficiente.
No está permitido
Todas las respuestas son correctas

En la práctica anterior de pide crear la clase GeoPuntoAlt a partir de la clase GeoPunto, añadiendo el atributo altura. ¿Cuál de las siguientes afirmaciones es cierta?
Un objeto de la clase GeoPuntoAlt ocupará menos memoria.
El método distancia() de la clase GeoPuntoAlt tardará menos en ejecutarse
xEl método distancia() de la clase GeoPunto tardará menos en ejecutarse

Actividad 1.11

Versión Texto

Recuerda que la clase ComplejoAmpliado es descendiente de Complejo y añade el método esReal(). Indica cuál de los siguientes fragmentos de código es correcto:
Complejo c = new ComplejoAmpliado(12.4);
if (c.esReal())…
ComplejoAmpliado c = new Complejo(12.4,3);
if (c.esReal())…
Complejo c = new Complejo(12.4);
if (c.esReal())…
Complejo c = new ComplejoAmpliado(12.4);
xif (((ComplejoAmpliado)c).esReal())…

Tras la siguiente declaración del objeto c ¿Qué expresión dará como resultado false?
Complejo c = new ComplejoAmpliado(12.4,-1);
if (c instanceof Object)...
if (c instanceof Complejo)...
if (c instanceof ComplejoAmpliado)...
xif ((ComplejoAmpliado)c).esReal())...

¿Qué error hay en el siguiente código? Supondremos la case Padre ya definida:
class Hijo extends Padre {
    @Override
    public String toString() {
        return "soy un hijo";
   }
}
...
Padre c = new Hijo;
System.out.println(c.toString());
Es posible que la clase Padre no tenga el método toString()
En la clase Hijo no se ha definido un constructor.
xLa inicialización del objeto c es incorrecta
Falta el tipecast para poder llamar al método toString()

Actividad 1.12

¿Cuál es la forma correcta de definir un enumerado en Java?
public enum Horario {MANANA(0), TARDE(1), NOCHE(2)}
public Horario enum (MANANA[0], TARDE[1], NOCHE[2])
xenum Horario {MANANA, TARDE, NOCHE}
Todas son incorrectas

Selecciona la respuesta correcta:
Los tipos enumerados siempre se definen en ficheros separados con extensión .java.
xUn tipo enum es considerado como una clase y cada constante del enum como un objeto de esta clase.
Cada constante de un enum es considerado como una clase descendiente de java.lang.Enum.
Todas las respuestas son ciertas.

Identifica los errores en la siguiente declaración de un enumerado:
public enum Genero {
    HOMBRE("Don"), MUJES("Doña");
    private int tratamiento;
    private Genero(int tratamiento){
       this.tratamiento = tratamiento;
    }
    int getTratamiento(){
        return tratamiento;
>    }
}
Sobra el ; de la segunda línea
No se puede usar private en el constructor
xEl tipo del parámetro del constructor tendría que ser String
Las tres respuestas anteriores son errores

TEST 1

Cuando en una clase no permitimos que los atributos de una clase puedan ser accedidos desde el exterior, que característica de Java estamos utilizando.

 Polimorfismo
x Encapsulamiento
 Sobrecarga
 Herencia


¿En cuál de los siguientes paquetes se incluye el entorno de desarrollo Eclipse?

x paquete ADT (Android Development Toolkit)
 Android SDK (Software Development Kit)
 Android Estudio


¿Qué define la siguiente línea en una clase?
public int libro(String titulo){…}

 una Clase
x un método
 un constructor
 un atributo


¿Cuál de los siguientes identificadores corresponde a un tipo simple y no a una clase?

  String
  Complejo
x  char
  Boolean


¿Qué ventajas obtenemos si indicamos la visibilidad de los atributos de una clase con private?

x podemos cambiar la representación interna de la clase sin alterar el interface
 El código resultante es más eficiente
 Se generarán excepciones cada vez que se intente acceder a un atributo desde otras clases
 Todas las respuestas son correctas


¿Qué visibilidad indica que un atributo o método antecedido de private?

 accesible desde cualquier clase.
x sólo accesible desde la clase actual.
 sólo desde la clase actual, sus descendientes y clases de nuestro paquete.
 sólo accesible por clases de nuestro paquete.


¿Qué significa el siguiente código?
super();

x Para llamar al constructor de nuestro padre.
 Para invocar el método super()
 Para heredar todos los métodos y atributos de nuestro padre.
 Para definir el constructor por defecto en una clase heredada.


El siguiente código da un error de compilación en la palabra @override ¿Cual podría ser la causa?
class Hijo extends Padre {
    @Override
    public String metodo() {
        return "soy un hijo";
   }
}
...
Hijo c = new Hijo();
System.out.println(((Padre)c).metodo());

x Es posible que en la clase Padre no exista el método metodo()
 En la clase Hijo no se ha definido el constructor.
 El tipeCast (Padre) es incorrecto
 La inicialización del objeto c es incorrecta.


Identifica los errores en la siguiente declaración de un enumerado:
public enum Genero {
    HOMBRE("Don"), MUJER("Doña");
    private String tratamiento;
    private Genero(String tratamiento){
       this.tratamiento = tratamiento;
    }
    String getTratamiento(){
        return tratamiento;
    }
}

 Sobra el ; de la segunda línea.
 No se puede usar private en el constructor.
 El tipo del parámetro del constructor es incorrecto.
x No hay ningún error.

TEST 0

¿Qué es Eclipse?

 Una librería de Java
 Una versión de Java especial para Android
x Un entorno de desarrollo de aplicaciones
 Ninguna de las anteriores


¿Qué caracter es utilizado para hacer comentario de multiples lineas?

x /* y */
 //
 /*/ y /*/
 * y *


¿Cuál de estos bucles NO existe en C ni en Java?

 while
x repeat
 do while
 for


¿Qué valor es calculado en n?
int a=2;
n = 4 + a / 2;

 2
 3
 4
x 5


¿Qué valor es calculado en n?
int n=0;
for ( i=0 ; i<5 ; i++ ) {
    n= n+2;
}

 0
 2
 6
x 10


¿En Java cuál de estos tipos de variable ocupa más espacio en la memoria?

 byte
 boolean
 char
x int


¿Dónde está el error en el siguiente función?
int factorial (int n) {
   if (n==0) return 1;
   else return (n * factorial(n-1));
}

 Falta un ; tras la primera línea
 La variable n no ha sido inicializada
 Una función no puede llamarse a sí misma
x No hay ningún error en esta función


¿Cuál es la descripción que crees que define mejor el concepto clase?

 Es un concepto similar al de "array"
 Es un tipo particular de variable
x Un tipo de objeto
 Es una categoría de objetos ordenada secuencialmente


¿Qué característica de Java hace referencia a: “Una clase ha de ocultar su implementación”?

 Polimorfismo
x Encapsulación
 Enlace dinámico
 Herencia


¿Qué característica de Java hace referencia a: “A partir de una clase podemos crear una nueva, indicando solo las diferencias”?

 Polimorfismo
 Encapsulación
 Enlace dinámico
x Herencia


¿Qué código de los siguientes usarías para que Alumno sea una clase heredada de Persona?

x public class Alumno extends Persona
 public class Alumno implements Persona
 public class Alumno inherit Persona
 public class Alumno belong to Persona


¿Cuándo se usa la palabra public?

 Para que un atributo o método sea accesible desde nuestro paquete
 Para que un atributo o método sea accesible desde nuestros descendientes
x Para que un atributo o método sea accesible desde cualquier clase
 Para que un atributo o método sea accesible desde nuestra clase


Dado el código:
public class Alumno implements Persona
¿Que es Persona?

 Una clase
 Un objeto
x Un interface
 Un método


¿Qué finalidad tiene la palabra synchronized?

 Para indicar que el método pertenece a un objeto, de forma que este será el único con permisos para ejecutarlo
x Para bloquear la entrada a una parte del código, de manera que solo pueda entrar un hilo de ejecución
 Para compartir información entre procesos
 Para sincronizar los datos con un servidor


Si eres un auténtico experto en Java es posible que encuentres el error en el siguiente código. Supón la case Padre ya definida (NOTA: Si no tienes problema en resolver esta pregunta, puedes saltarte el siguiente unidad):
class Hijo extends Padre {
    @Override
    public String toString() {
        return "soy un hijo";
   }
}
...
Padre c = new Hijo();
System.println(c.toString());

 Es posible que la clase Padre no tenga el método toString()
x La clase System no tiene el método estático println()
 En la clase Hijo no se ha definido un constructor.
 La inicialización del objeto c es incorrecta