Java Documentos
Java Documentos
La palabra reservada Static se puede aplicar tanto a variable, constante o método de clase.
Campos Static:
Y esto es lo que ocurre cada vez que instanciamos una clase o creamos un objeto en JAVA.
Cada copia es diferente por ejemplo en otra copia de nombre almacenamos Mario, en la otra
Marina y lo mismo ocurre en sección e Id.
En este caso para que el programa sea capaz de detectar porque ID va y asigne los ID
automáticamente y correlativamente necesitaríamos que cada uno de los objetos no tuviese su
propia copia, sino que existiría una sola copia para que compartieran la misma variable.
Static implica que no tengan los objetos su copia de Id y compartan todos los objetos
pertenecientes a la clase empleado
Delante de la variable ponemos la clase, porque una variable estática pertenece a la clase no a
ningún objeto, no podemos crear un objeto para llamar o utilizar una variable estática tenemos
que utilizar el nombre de la clase.
Métodos estáticos:
Si declaramos un método static eso quiere decir que el método pertenece a la clase no al objeto, y
tiene la particularidad de que a la hora de llamar ese método static no podemos utilizar ningún
objeto, ningún ejemplar perteneciente a la clase.
Todos los programas JAVA han de tener una clase principal, es decir la clase publica que contenga
el método Main.
Tiene el modificador de acceso public para que se pueda acceder a este método main desde fuera
de la clase en el que esta definido
Los métodos estáticos no actúan nunca sobre campos de clases o de ejemplar es decir que un
método estático nunca podría acceder a los campos de clases es decir a las variables hemos ido
declarando nosotros a no ser que la variable o constante a la que acceda sea tambien estática.
Sobrecarga de constructores
Una clase puede tener más de un método constructor que le proporcione un estado inicial a los
objetos.
Los constructores se encargan de darle un estado inicial a nuestros objetos, entonces es posible
elegir qué estado inicial le queremos dar a nuestros objetos creando varios constructores dentro
de la clase correspondiente.
Un constructor debe llevar el nombre de la clase a la que pertenece esto es lo que diferencia un
método normal de un método constructor.
Una sobrecarga de constructores indica que tendremos varios métodos con el mismo nombre de
la clase es decir varios constructores, con diferentes números de argumentos.
Un método constructor sirve para dar un estado inicial al objeto, entonces la sobrecarga de
métodos constructores es cuando tenemos varios métodos con el nombre de la clase a la que
pertenecen, pero reciben diferentes tipos de parámetros.
¿Por qué crear varios métodos constructores? Esta necesidad surge cuando le queremos dar a los
objetos diferentes estados iniciales
This:
Aquellos empleados de los que no tenemos la información del sueldo ni la fecha pues que el
programa les dé por defecto un sueldo base que sea de 30,000 y una fecha predefinida que sea el
01 de enero del año 2001. Para esto utilizamos el This: Cuando nosotros utilizamos el this dentro
de un constructor, el this llamara al método constructor que coincida con el número de
parámetros que escribimos.
Podemos tener una clase que no tenga constructores, entonces si existe en Java una clase que no
tenga constructor esta tendrá constructor por defecto pues es uno que tiene el mismo nombre de
la clase y no recibe parámetros, no le dará ningún estado inicial en concreto.
Herencia
La herencia es lo mismo que en la vida real. Se le conoce como reutilización del código.
Por ejemplo: Si creamos una clase llamada furgoneta que herede de coche lo que estamos
haciendo es decirle que la furgoneta va a heredar todas las características y estado inicial de
coches, eso lo ahorro y de ahí viene lo de reutilización de código, y luego lo que tendremos que
hacer es programar las características propias de la furgoneta.
Pero las clases que heredan de otra en Java no solo heredan sus características, sino que tambien
heredan sus métodos.
Palabra reservada super () lo que hace es llamar al constructor de la clase padre, con el objetivo
de dar un estado inicial y darle un estado inicial a las propiedades nuevas.
ARREGLOS – PROGRAMACION ATS
Unidimensional:
Sintaxis:
Números[0] = 5;
Números [1] = 7;
Números [2] = 9;
5 7 9
Posicion 0 Posicion 1 Posicion 2
//Pidiendole al usuario:
pais[i] = entrada.nextLine();
do{
System.out.println(numeros[n]);
n++;
}while (n!=3);
System.out.println (variable);
EJERCICIOS DE ARREGLOS:
3. Leer 5 números por teclado, almacenarlos en un arreglo y a continuación realizar la media de los
números positivos, la media de los negativos y contar el numero de ceros.
5. Leer por teclado dos tablas de 10 números enteros y mezclarlas en una tercera de la forma:
6. Leer los datos correspondientes a dos tablas de 12 elementos numéricos, y mezclarlos en una
tercera de la forma: 3 de la tabla de a, 3 de la de b, 3 de A y asi sucesivamente.
7. Leer por teclado una serie de 10 números enteros. La aplicación debe indicarnos si los números
están ordenados de forma creciente, decreciente o si están desordenados.
8. Diseñar una aplicación que declare una tabla de 10 elementos enteros. Leer mediante teclado 8
números. Despues se debe pedir un número y una posición, insertarlo en la posición indicada,
desplazando los que estén
detrás.
9. Crear un programa que lea por teclado una tabla de 10 números enteros y la desplace una
posición hacia abajo: el primero pasa a ser el segundo, el segundo pasa a ser el tercero y asi
sucesivamente. El ultimo pasa a ser el primero.
1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9
Pos 0 = posición 9
Pos 1 = posición 0
Posición 2 = pos 1;
Es una forma mas cercana a como expresaríamos las cosas en la vida real.
Un auto es un objeto, porque tiene dos cosas atributos, características y propiedades y tiene
métodos, estos son las acciones o comportamientos que estos tienen.
Método: dividir.
Clases en POO
Clase: class
Crear un objeto:
Ejemplo:
Ejemplo:
//Parámetro:
Código;
//Argumento:
Objeto.método (1,”Hola”);
Cuando las variables están fuera del método se conocen como variables globales y cuando están
dentro del método como variables locales.
Los métodos constructores son los únicos a los que no se les debe poner el valor que retornan
Los que llevan this son las propiedades y los que no son los parámetros
Los métodos se sobren cargan cuando el número de parámetros o los tipos de parámetros son
diferentes.
Modificador de acceso:
Modificador de acceso por defecto: público pero solo para las clases del mismo paquete
Private: si es private solamente puede utilizarse desde la clase a la que pertenece y desde los
métodos accesores de la misma clase.
Para poder crear objetos de clases de otro paquete hay que importarlo.
¿Qué es el encapsulamiento?
El encapsulamiento se encarga de ocultar los atributos o métodos para que solo puedan ser
accedidos desde la misma clase.
METODOS ACCESORES:
Un atributo tiene dos partes cuando le asignamos un valor y cuando mostramos ese valor.
Getter: Get es obtener, entonces los métodos getter obtienen y muestran un valor.
CONSTANTE:
Espacio de memoria en el que se almacena un valor y este valor no va a cambiar a lo largo del
programa. Una vez que su valor es asignado no puede cambiar.
Se les conoce como miembros de la clase, porque ya no le pertenecen al objeto, sino que le
pertenecen directamente a la clase.
Cuando creamos un objeto lo que hace es sacar una copia de todos aquellos atributos y métodos
que no sean estáticos.
El ultimo cambio que yo haga será el definitivo para todos los objetos.
Puede servir para cuando queramos que un cambio repercuta en todos los objetos.
3. Construir un programa que, dada una serie de vehículos caracterizados por su marca, modelo y
precio, imprima las propiedades del vehículo mas barato. Para ello, se deberán leer por teclado las
características de cada vehículo y crear una clase que represente a cada uno de ellos.
4. Construir un programa para una competencia de atletismo, el programa debe gestionar una
serie de atletas caracterizados por su numero de atleta, nombre y tiempo de carrera, al final el
programa debe mostrar los datos del atleta ganador de la carrera.