Title: Parte09
Course: 2025 - LISI - Programacion Orientada a Objetos 1-3

Q: _________representa una entidad en el mundo real que puede ser claramente identificada.
- Una clase
- Un objeto
- Un método
- Un campo de datos
A: Un objeto

Q: _________es una plantilla que define objetos del mismo tipo.
- Una clase
- Un objeto
- Un método
- Un campo de datos
A: Una clase

Q: Un objeto es una instancia de __________ .
- un programa
- una clase
- un método
- un campo de datos
A: una clase

Q: La palabra reservada___________ es requerida para definir una clase.
- static
- void
- class
- int
A: class

Q: Si el archivo PruebaCirculo.java se compila con éxito,_________
- se crea el archivo PruebaCirculo.class.
- se crea el archivo Círculo.class.
- se crean los archivos PruebaCirculo.class y Circulo.class.
- No se crean archivos de clase.
A: se crean los archivos PruebaCirculo.class y Circulo.class.

Q: _____________ se invoca para crear un objeto.
- Un método constructor
- El método principal
- Un método con un tipo de retorno
- Un método con el tipo de retorno void
A: Un método constructor

Q: ¿Cuáles de las siguientes declaraciones son ciertas?
- Se pueden definir múltiples constructores en una clase.
- Los constructores no tienen un tipo de retorno, ni siquiera void.
- Los constructores deben tener el mismo nombre que la propia clase.
- Los constructores se invocan utilizando el operador 'new' cuando se crea un objeto.
A: Se pueden definir múltiples constructores en una clase.; Los constructores no tienen un tipo de retorno, ni siquiera void.; Los constructores deben tener el mismo nombre que la propia clase.; Los constructores se invocan utilizando el operador 'new' cuando se crea un objeto.

Q: Analice el siguiente código.
[Image: 0908]
- El programa tiene un error de compilación porque la clase Temporal no tiene un constructor predeterminado.
- El programa tiene un error de compilación porque la clase Temporal no tiene un constructor con argumentos.
- El programa compila bien, pero no se ejecuta porque la clase C no es pública.
- El programa se compila y funciona bien.
A: El programa tiene un error de compilación porque la clase Temporal no tiene un constructor con argumentos.

Q: ¿Cuáles de las siguientes declaraciones son ciertas?
- Un constructor predeterminado se proporciona automáticamente si no se define explícitamente ningún constructor en la clase.
- Al menos un constructor debe definirse siempre explícitamente.
- Cada clase tiene un constructor por defecto.
- El constructor por defecto es un constructor sin argumentos.
A: Un constructor predeterminado se proporciona automáticamente si no se define explícitamente ningún constructor en la clase.; El constructor por defecto es un constructor sin argumentos.

Q: Analice el siguiente código:
[Image: 0910]
- El programa tiene un error de compilación porque la clase A no es una clase pública.
- El programa tiene un error de compilación porque la clase A no tiene un constructor predeterminado.
- El programa compila, se ejecuta correctamente y no imprime nada.
- El programa se compilaría y ejecutaría si se cambia A a = new A() por A a = new A("5").
A: El programa tiene un error de compilación porque la clase A no tiene un constructor predeterminado.; El programa se compilaría y ejecutaría si se cambia A a = new A() por A a = new A("5").

Q: Dada la declaración ```Circulo x = new Circulo();``` ¿Cuál de las siguientes declaraciones es la más exacta?.
- x contiene un valor entero.
- x contiene un objeto del tipo Circulo.
- x contiene una referencia a un objeto Circulo.
- Se puede asignar un valor entero a x.
A: x contiene una referencia a un objeto Circulo.

Q: ¿Cuáles de las siguientes declaraciones son correctas?
- Una variable de referencia es un objeto.
- Una variable de referencia hace referencia a un objeto.
- Un campo de datos en una clase debe ser de tipo primitivo.
- Un campo de datos en una clase puede ser de tipo de objeto.
A: Una variable de referencia hace referencia a un objeto.; Un campo de datos en una clase puede ser de tipo de objeto.

Q: Analice el siguiente código:
[Image: 0913]
- El programa tiene un error de compilación porque el método System.out.println no puede ser invocado desde el constructor.
- El programa tiene un error de compilación porque x no ha sido inicializada.
- El programa tiene un error de compilación porque no se puede crear un objeto de la clase que define al objeto.
- El programa tiene un error de compilación porque la clase Prueba no tiene un constructor predeterminado.
A: El programa tiene un error de compilación porque la clase Prueba no tiene un constructor predeterminado.

Q: Analice el siguiente código:
[Image: 0914]
- El programa tiene un error de compilación porque prueba no ha sido inicializada.
- El programa tiene un error de compilación porque x no ha sido inicializada.
- El programa tiene un error de compilación porque no se puede crear un objeto de la clase que define al objeto.
- El programa tiene un error de compilación porque la clase Prueba no tiene un constructor predeterminado.
- El programa lanza una excepción de ejecución de tipo NullPointerException porque prueba es null al ejecutar la instruccion prueba.x.
A: El programa lanza una excepción de ejecución de tipo NullPointerException porque prueba es null al ejecutar la instruccion prueba.x.

Q: Los valores predeterminados para campos de datos de tipo booleano, numérico, objeto, son ___________, respectivamente.
- true, 1, Null
- false, 0, null
- true, 0, null
- true, 1, null
- false, 1, null
A: false, 0, null

Q: ¿Cuáles de las siguientes declaraciones son ciertas?
- Las variables locales no tienen valores por defecto.
- Los campos de datos tienen valores por defecto.
- Una variable de tipo primitivo almacena un valor de tipo primitivo.
- Una variable de referencia contiene una referencia hacia donde se almacena un objeto en memoria.
- Se puede asignar un valor entero a una variable de referencia.
A: Las variables locales no tienen valores por defecto.; Los campos de datos tienen valores por defecto.; Una variable de tipo primitivo almacena un valor de tipo primitivo.; Una variable de referencia contiene una referencia hacia donde se almacena un objeto en memoria.

Q: Analice el siguiente código:
[Image: 0917]
- El programa tiene errores de compilación porque la variable radio no está inicializada.
- El programa tiene un error de compilación porque la constante PI está definida dentro de un método.
- El programa no tiene errores de compilación, pero obtendrá un error de tiempo de ejecución porque la variable radio no está inicializada.
- El programa se compila y funciona bien.
A: El programa tiene errores de compilación porque la variable radio no está inicializada.

Q: ¿Cuál de las siguientes opciones crea un objeto de la clase Date?:
[Image: 0918]
- A.
- B.
- Ninguno
- Tanto A como B
A: Tanto A como B

Q: ¿Cuáles de las siguientes declaraciones son ciertas?
- Al crear un objeto Random, se tiene que especificar la semilla o utilizar la semilla predeterminada.
- Si dos objetos tipo Random tienen la misma semilla, las secuencias de los números aleatorios obtenidos de estos dos objetos son idénticas.
- El método nextInt() en la clase Random devuelve el siguiente valor aleatorio entero .
- El método nextDouble() en la clase Random devuelve el siguiente valor aleatorio double.
A: Al crear un objeto Random, se tiene que especificar la semilla o utilizar la semilla predeterminada.; Si dos objetos tipo Random tienen la misma semilla, las secuencias de los números aleatorios obtenidos de estos dos objetos son idénticas.; El método nextInt() en la clase Random devuelve el siguiente valor aleatorio entero .; El método nextDouble() en la clase Random devuelve el siguiente valor aleatorio double.

Q: Para obtener la distancia entre los puntos (40, 50) y (5.5, 4.4), utilice:
- ```distance(40, 50, 5.5, 4.4)```
- ```new Point2D(40, 50).distance(5.5, 4.4)```
- ```new Point2D(40, 50).distance(new Point2D(5.5, 4.4))```
- ```new Point2D(5.5, 4.4).distance(40, 50)```
- ```new Point2D(5.5, 4.4).distance(new Point2D(40, 50))```
A: ```new Point2D(40, 50).distance(5.5, 4.4)```; ```new Point2D(40, 50).distance(new Point2D(5.5, 4.4))```; ```new Point2D(5.5, 4.4).distance(40, 50)```; ```new Point2D(5.5, 4.4).distance(new Point2D(40, 50))```

Q: Un método asociado con un objeto individual se le llama__________.
- un método estático
- un método de clase
- un método de instancia
- un método de objeto
A: un método de instancia

Q: ¿Cuál es el resultado de la segunda sentencia de impresión en el método principal?
[Image: 0922]
- prueba2.i es 1 prueba2.s
- prueba2.i es 1 prueba2.s es 2
- prueba2.i es 2 prueba2.s
- prueba2.i es 2 prueba2.s es 1
A: prueba2.i es 1 prueba2.s es 2

Q: ¿Qué código se puede rellenar en el espacio en blanco sin causar errores de sintaxis o tiempo de ejecución?
[Image: 0923]
- ```prueba.fecha```
- ```fecha```
- ```prueba.fecha.toString()```
- ```fecha.toString()```
A: ```prueba.fecha```

Q: Debes añadir la palabra clave```static```en el lugar de ? en la línea_______ en el siguiente código:
[Image: 0924]
- en la línea 4
- en la línea 8
- en la línea 4 y en la línea 8
- ninguno
A: en la línea 4

Q: Para declarar una constante LONGITUD_MAXIMA constante como miembro de una clase, se debe escribir:
- ```final static LONGITUD_MAXIMA
- 99.98;```
- ```final static float LONGITUD_MAXIMA
- 99.98;```
- ```static double LONGITUD_MAXIMA
- 99.98;```
- ```final double LONGITUD_MAXIMA
- 99.98;```
- ```final static double LONGITUD_MAXIMA
- 99.98;```
A: 99.98;``` / 99.98;``` / 99.98;``` / 99.98;``` / ```final static double LONGITUD_MAXIMA / 99.98;```

Q: Analice el siguiente código:
[Image: 0926]
- El código tiene un error de compilación porque el metodo 'metodoX' no devuelve un valor.
- El código tiene un error de compilación porque el metodo 'metodoX' no está declarado como estático.
- El código imprime "n es 1".
- El código imprime "n es 2".
- El código imprime "n es 3".
A: El código tiene un error de compilación porque el metodo 'metodoX' no está declarado como estático.

Q: ¿Cuál es la salida de la tercer sentencia de impresión en el método principal?
[Image: 0927]
- prueba3.i es 1 prueba3.s es 1
- prueba3.i es 1 prueba3.s es 2
- prueba3.i es 1 prueba3.s es 3
- prueba3.i es 3 prueba3.s es 1
- prueba3.i es 3 prueba3.s es 3
A: prueba3.i es 1 prueba3.s es 3

Q: Supongamos que el metodoX() se invoca en el siguiente constructor en una clase, metodoX() es______________________ en la clase.
[Image: 0928]
- un método estático
- un método de instancia
- un método estático o un método de instancia
A: un método estático o un método de instancia

Q: Supongamos que el metodoX() se invoca desde el método principal en una clase de la siguiente manera, metodoX() es______________________ en la clase.
[Image: 0929]
- un método estático
- un método de instancia
- un método estático o un método de instancia
A: un método estático

Q: Las variables que son compartidas por cada instancia de una clase son_________ .
- variables públicas
- variables privadas
- variables de instancia
- variables de clase
A: variables de clase

Q: Analice el siguiente código:
[Image: 0931]
- El programa tiene un error de compilación porque la clase ClaseN tiene un constructor privado.
- El programa no se compila porque la lista de parámetros del método principal es errónea.
- El programa compila, pero tiene un error de tiempo de ejecución porque t no tiene valor inicial.
- El programa se compila y funciona bien.
A: El programa tiene un error de compilación porque la clase ClaseN tiene un constructor privado.

Q: Analice el siguiente código:
[Image: 0932]
- La variable t no se inicializa y por lo tanto causa errores.
- La variable t es privada y, por lo tanto, no se puede acceder en el método principal.
- t es no estática y no se puede ser referenciada en un contexto estático en el método principal.
- La variable x no se inicializa y por lo tanto causa errores.
- El programa compila y funciona bien.
A: t es no estática y no se puede ser referenciada en un contexto estático en el método principal.

Q: Analice el siguiente código y elija la mejor respuesta:
[Image: 0933]
- Como x es privada, no se puede ser accedida desde un objeto prueba.
- Dado que x se define en la clase Prueba, se puede acceder a ella por cualquier método dentro de la clase sin usar un objeto. Se puede escribir el código para acceder a x sin crear un objeto como 'prueba' en este código.
- Dado que x es una variable de instancia, no se puede utilizar directamente dentro del método principal. Sin embargo, se puede acceder a ella a través de un objeto como 'prueba' en este código.
- No se puede crear un objeto autorreferenciado; es decir, 'prueba' se crea dentro de la clase Prueba.
A: Dado que x es una variable de instancia, no se puede utilizar directamente dentro del método principal. Sin embargo, se puede acceder a ella a través de un objeto como 'prueba' en este código.

Q: Para evitar que una clase sea instanciada,____________
- no use ningún modificador en el constructor.
- utilice el modificador public en el constructor.
- use el modificador private en el constructor.
- use el modificador static en el constructor.
A: use el modificador private en el constructor.

Q: Cuál es la ventaja de la encapsulación?
- Sólo se necesitan métodos públicos.
- Declarar la calse como final no causa cambios consecuentes en otro código.
- Permite cambios en la implementación sin cambiar el contrato de una clase y no causa cambios consecuentes en otro código.
- Permite cambios en el contrato de una clase sin cambiar la implementación y no causa cambios consecuentes en otro código.
A: Permite cambios en la implementación sin cambiar el contrato de una clase y no causa cambios consecuentes en otro código.

Q: ¿Cuáles de las siguientes declaraciones son ciertas?
- Utilice el modificador private para encapsular los campos de datos.
- Encapsular campos de datos hace que el programa sea fácil de mantener.
- Encapsular campos de datos hace que el programa sea corto.
- Encapsular campos de datos ayuda a prevenir errores de programación.
A: Utilice el modificador private para encapsular los campos de datos.; Encapsular campos de datos hace que el programa sea fácil de mantener.; Encapsular campos de datos ayuda a prevenir errores de programación.

Q: Supongamos que desea proporcionar un método de acceso para una propiedad booleana 'terminada', ¿Cuál debería ser la firma de este método?
- ```public void getTerminada()```
- ```public boolean getTerminada()```
- ```public boolean estaTerminada()```
- ```public void estaTerminada()```
A: ```public boolean estaTerminada()```

Q: La encapsulación significa__________________
- que los campos de datos deben declararse privados
- que una clase puede extender otra clase
- que una variable de supertipo puede referirse a un objeto de subtipo
- que una clase puede contener otra clase
A: que los campos de datos deben declararse privados

Q: Analice el siguiente código. ¿Cuál es el valor mostrado de miContador.contador?
[Image: 0939]
- 101
- 100
- 99
- 98
A: 101

Q: ¿Cuál es el valor de las repeticiones mostradas?
[Image: 0940]
- 101
- 100
- 99
- 98
- 0
A: 0

Q: ¿Cuál es el resultado del siguiente programa?
[Image: 0941]
- 1234567 1234567
- 1234567 7654321
- 7654321 1234567
- 7654321 7654321
A: 1234567 7654321

Q: Al invocar un método con un argumento de objeto, se pasa el paso.
- el contenido del objeto
- una copia del objeto
- La referencia del objeto
- el objeto se copia, luego la referencia del objeto copiado
A: La referencia del objeto

Q: Dada la declaración ```Circulo[] x = new Circulo[10];```¿Cuál de las siguientes declaraciones es más exacta?
- x contiene una matriz de diez valores de int.
- x contiene una matriz de diez objetos del tipo Circulo.
- x contiene una referencia a un array y cada elemento en el array puede tener una referencia a un objeto Circulo.
- x contiene una referencia a un array y cada elemento en el array puede sostener un objeto Circulo.
A: x contiene una referencia a un array y cada elemento en el array puede tener una referencia a un objeto Circulo.

Q: Asuma que```java.util.Date[] fechas = new java.util.Date[10];```¿Cuál de las siguientes declaraciones son ciertas?:
- ```fechas```es nula.
- ```fechas[0]```es nula.
- ```fechas = new java.util.Fecha[5];```está bien, lo que asigna una nueva matriz a las fechas.
- ```fechas = new Fecha();```está bien, que crea un nuevo objeto Date y asigna a las fechas.
A: ```fechas[0]```es nula.; ```fechas = new java.util.Fecha[5];```está bien, lo que asigna una nueva matriz a las fechas.

Q: ¿Cuál de las siguientes declaraciones es cierta sobre un objeto inmutable?
- El contenido de un objeto inmutable no puede ser modificado.
- Todas las propiedades de un objeto inmutable deben ser privadas.
- Todas las propiedades de un objeto inmutable deben ser de tipos primitivos.
- Una propiedad de tipo de objeto legible en un objeto inmutable también debe ser inmutable.
- Un objeto inmutable no contiene métodos mutadores.
A: El contenido de un objeto inmutable no puede ser modificado.; Todas las propiedades de un objeto inmutable deben ser privadas.; Una propiedad de tipo de objeto legible en un objeto inmutable también debe ser inmutable.; Un objeto inmutable no contiene métodos mutadores.

Q: ¿Cuál es la salida de la primera declaración de impresión en el método principal?
[Image: 0946]
- i + j = 5
- i + j = 6
- i + j = 22
- i + j = 23
A: i + j = 23

Q: ¿Cuál es la salida para la segunda declaración de impresión en el método principal?
[Image: 0947]
- k = 0
- k = 1
- k = 2
- k = 3
A: k = 2

Q: ¿Cuál es la salida de la tercera declaración de impresión en el método principal?
[Image: 0948]
- j = 0
- j = 1
- j = 2
- j = 3
A: j = 0

Q: Puedes declarar dos variables con el mismo nombre en____________.
- un método, uno como parámetro formal y el otro como variable local
- un bloque
- dos bloques anidados en un método (dos bloques anidados significan uno dentro del otro)
- diferentes métodos en una clase
A: diferentes métodos en una clase

Q: Analice el siguiente código:
[Image: 0950]
- El programa tiene un error de compilación porque no tiene un método principal.
- El programa se compilará, pero no se puede crear un objeto de Círculo con un radio especificado. El objeto siempre tendrá radio 0.
- El programa tiene un error de compilación porque no se puede asignar radio a radio.
- El programa no compila porque Circle no tiene un constructor predeterminado.
A: El programa se compilará, pero no se puede crear un objeto de Círculo con un radio especificado. El objeto siempre tendrá radio 0.

Q: ¿Cuál de los siguientes se puede colocar en la línea en blanco en el siguiente código?
[Image: 0951]
- this
- Test
- self
- This
A: this

Q: Analice el siguiente código:
[Image: 0952]
- ```this.t()```podrá sustituirse por```t()```
- ```this.i```puede ser reemplazado por```i```
- ```this(1)```debe llamarse antes de```System.out.println("Constructor default")```
- ```this(1)```debía ser sustituido por```this(1.0)```
A: ```this.t()```podrá sustituirse por```t()```; ```this(1)```debe llamarse antes de```System.out.println("Constructor default")```

Q: Para declarar una constante LONGITUD_MAXIMA constante como miembro de una clase, se debe escribir:
- ```final static LONGITUD_MAXIMA = 99.98;```
- ```final static float LONGITUD_MAXIMA = 99.98;```
- ```static double LONGITUD_MAXIMA = 99.98;```
- ```final double LONGITUD_MAXIMA = 99.98;```
- ```final static double LONGITUD_MAXIMA = 99.98;```
A: ```final static double LONGITUD_MAXIMA = 99.98;```

Q: Dada la declaración ```Circulo x = new Circulo();```¿Cuál de las siguientes declaraciones es la más exacta?.
- x contiene un valor entero.
- x contiene un objeto del tipo Circulo.
- x contiene una referencia a un objeto Circulo.
- Se puede asignar un valor entero a x.
A: x contiene una referencia a un objeto Circulo.