Escolar Documentos
Profissional Documentos
Cultura Documentos
Modificadores de acceso
Los modificadores de acceso, como su nombre indica, determinan desde qué clases se
puede acceder a un determinado elemento. En Java tenemos 4 tipos: public, private,
protected y el tipo por defecto, que no tiene ninguna palabra clave asociada, pero se suele
conocer como default o package-private.
private, por otro lado, es el modificador más restrictivo y especifica que los elementos que
lo utilizan sólo pueden ser accedidos desde la clase en la que se encuentran. Este
modificador sólo puede utilizarse sobre los miembros de una clase y sobre interfaces y
clases internas, no sobre clases o interfaces de primer nivel, dado que esto no tendría
sentido.
Es importante destacar también que private convierte los elementos en privados para
otras clases, no para otras instancias de la clase. Es decir, un objeto de una determinada
clase puede acceder a los miembros privados de otro objeto de la misma clase, por lo que
algo como lo siguiente sería perfectamente válido:
El modificador protected, por último, indica que los elementos sólo pueden ser accedidos
desde su mismo paquete (como el acceso por defecto) y desde cualquier clase que
extienda la clase en que se encuentra, independientemente de si esta se encuentra en el
mismo paquete o no. Este modificador, como private, no tiene sentido a nivel de clases o
interfaces no internas.
Los distintos modificadores de acceso quedan resumidos en la siguiente tabla:
Modificadores de acceso
La misma Otra clase del mismo Subclase de otro Otra clase de otro
clase paquete paquete paquete
public X X X X
protected X X X
default X X
private X
static
La clase Scanner permite crear objetos capaces de leer información desde una fuente de
datos que puede ser un archivo, una cadena de caracteres, el teclado, etc. Los objetos de
esta clase, serán los que utilizaremos para pedir los datos que se requieran para dar
solución a un problema.
Scanner es una de las clases que nos permite leer entradas de teclado por consola:
Para hacer uso de esta clase, lo primero que se debe hacer es importarla
importjava.util.Scanner;
Utilizando la clase Scanner es posible leer los datos ingresados por el usuario desde
teclado, para ello debemos utilizar el objeto de entrada por defecto(System.in). El método
nextInt() toma lo digitado por el usuario y lo convierte en un número entero (existen varios
métodos next… para cada tipo de dato primitivo de Java y para algunos tipos de datos
compuestos, como cadena de caracteres).También para la salida de datos, con formato,
existe un nuevo método printf. Éste método permite entre otras cosas:
La utilización de la clase Scanner es muy sencilla. Lo primero que tenemos que hacer es
declarar un objeto Scanner instanciándolo contra la consola, es decir, contra el objeto
System.in
short nextShort()
long nextLong()
System.out.println("Nombre:");
entrada.nextLine();
nombre=entrada.nextLine();
Como vemos llamamos al método nextLine() dos veces, la primera retorna la tecla "Enter"
y la segunda se queda esperando que ingresemos el apellido y nombre (tener en cuenta
que esto es necesario solo si previamente se llamó al método nextInt() o nextFloat().
EL USO DEL THIS
this. Es una referencia al objeto que envia un mensaje, o simplemente una referencia al
objeto que llama un método (éste no debe ser static)
1- Seleccionar explícitamente un miembro de una clase con el fin de dar más claridad o de
evitar colisión de identificadores:
Ejemplo:
class Triangulo
{
private double base;
private double altura;
2- Que un método devuelva el mismo objeto que le llamó. De esa manera se pueden hacer
llamadas en cascada a métodos de la misma clase.
Ejemplo:
class Triangulo
{
private double base;
private double altura;
public Triangulo datos(double base, double altura)
{
this.base= base;
this.altura= altura;
return this;
}