r) Sólo puede haber un(a) __________ en un archivo de código fuente de Java, y debe ir antes de todas las 

demás declaraciones e instrucciones en el archivo.

 

s) Un(a) declaración __________ sólo importa las clases que utiliza el programa de un paquete específi co.

 

t) El compilador utiliza un(a) __________ para localizar las clases que necesita en la ruta de clases.

 

u) La ruta de clases para el compilador y la JVM se puede especifi car mediante la opción __________ para el 

comando 

javac

 o 

java

, o estableciendo la variable de entorno __________.

 v) 

los 

métodos 

establecer se les conoce comúnmente como __________, ya que, por lo general, modifi can 

un valor.

 

w) Un(a) __________ importa a todos los miembros 

static

 de una clase.

 x) 

Los 

métodos 

public

 de una clase se conocen también como los __________ o __________ de la clase.

 y) 

El 

método 

static

 __________ de la clase 

System

 indica que el recolector de basura debe realizar su mejor 

esfuerzo para tratar de reclamar los objetos que sean candidatos para la recolección de basura.

 

z) Un objeto que contiene __________ tiene valores de datos que siempre se mantienen dentro del rango.

Respuestas a los ejercicios de autoevaluación

8.1 

a)

 –d

. b) 

format

. c) oculta. d) 

finalize

. e) import de tipo simple. f) constructor predeterminado.  g) 

to-

String

. h) métodos de acceso, métodos de consulta. i) predicado. j) 

values

. k) 

tiene un. l) 

enum

. m) 

static

n) 

static import

 de tipo simple. o) principio de menor privilegio. p) 

final

. q) tipo de datos abstracto 

(ADT).  r) declaración 

package

. s) 

import

 tipo sobre demanda. t) cargador de clases. u) 

-classpath

CLASSPATH

v) métodos mutadores. w) declaración 

static import

 sobre demanda. x) servicios 

public

, interfaz 

public

. y) 

gc

z) datos consistentes.

Ejercicios

8.2

Explique la noción del acceso a nivel de paquete en Java. Explique los aspectos negativos del acceso a nivel de 

paquete. 

8.3

¿Qué ocurre cuando un tipo de valor de retorno, incluso 

void

, se especifi ca para un constructor?

8.4

(Clase Rectangulo) Cree una clase llamada 

Rectangulo

. La clase debe tener los atributos 

longitud

 y 

anchura

cada uno con un valor predeterminado de 1. Debe tener métodos para calcular el 

perimetro

 y el 

area

 del rectángulo. 

Debe tener métodos 

establecer y obtener para 

longitud

 y 

anchura

. Los métodos 

establecer deben verifi car que 

longitud

 

anchura

 sean números de punto fl otante mayores de 0.0, y menores de 20.0. Escriba un programa para probar la clase 

Rectangulo

.

8.5

(Modifi cación de la representación de datos interna de una clase) Sería perfectamente razonable para la clase 

Tiem-

po2

 de la fi gura 8.5 representar la hora internamente como el número de segundos transcurridos desde medianoche, en 

vez de usar los tres valores enteros 

hora

minuto

 y 

segundo

. Los clientes podrían usar los mismos métodos 

public

 y 

obtener los mismos resultados. Modifi que la clase 

Tiempo2

 de la fi gura 8.5 para implementar un objeto 

Tiempo2

 como 

el número de segundos transcurridos desde medianoche, y mostrar que no hay cambios visibles para los clientes de la 
clase.

8.6

(Clase cuenta de ahorros) Cree una clase llamada 

CuentaDeAhorros

. Use una variable 

static

 llamada 

tasa-

InteresAnual

 para almacenar la tasa de interés anual para todos los cuentahabientes. Cada objeto de la clase debe 

contener una variable de instancia 

private

 llamada 

saldoAhorros

, que indique la cantidad que el ahorrador tiene 

actualmente en depósito. Proporcione el método 

calcularInteresMensual

 para calcular el interés mensual, multi-

plicando el 

saldoAhorros

 por la 

tasaInteresAnual

 dividida entre 12; este interés debe sumarse al 

saldoAhorros

Proporcione un método 

static

 llamado 

modificarTasaInteres

 para establecer la 

tasaInteresAnual

 en un nuevo 

valor. Escriba un programa para probar la clase 

CuentaDeAhorros

. Cree dos instancias de objetos 

CuentaDeAhorros

ahorrador1

 y 

ahorrador2

, con saldos de $2000.00 y $3000.00, respectivamente. Establezca la 

tasaInteresAnual

 

en 4%, después calcule el interés mensual e imprima los nuevos saldos para ambos ahorradores. Luego establezca la 

tasaInteresAnual

 en 5%, calcule el interés del siguiente mes e imprima los nuevos saldos para ambos ahorradores.

8.7

(Mejora a la clase 

Tiempo2

) Modifi que la clase 

Tiempo2

 de la fi gura 8.5 para incluir un método 

tictac

, que 

incremente el tiempo almacenado en un objeto 

Tiempo2

 por un segundo. Proporcione el método 

incrementarMinuto

 

para incrementar el minuto, y el método 

incrementarHora

 para incrementar la hora. El objeto 

Tiempo2

 debe perma-

necer siempre en un estado consistente. Escriba un programa para probar los métodos 

tictac

incrementarMinuto

 y 

incrementarHora

, para asegurarse que funcionen correctamente. Asegúrese de probar los siguientes casos:

374

Capítulo 8 Clases y objetos: un análisis más detallado

08_MAQ_CAP_08.indd374

4/19/081:24:05AM