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)
A
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
y
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