-
Notifications
You must be signed in to change notification settings - Fork 10
Introduccion a Java
Java es un lenguaje orientado a objetos basado en clases que es de uso general. Basado en clases implica el hecho de que tengamos que hacer una clase para todo, ya que las clases son la base en si del lenguaje.
Si bien Java se presenta como un lenguaje orientado a objetos, este no es de caracter puro (como Smalltalk), ya que posee tipos primitivos (tipos que no representan objetos).
Java no es un lenguaje orientado a objetos puro ya que contiene tipos primitivos. Estos corresponden a los tipos basicos que conocemos, estos son: boolean
, byte
, char
, short
, int
, long
, float
,y double
. Entre estos 8 tipos, podemos agregar el tipo que representa la ausencia void
. Estos tipos representan no representan un concepto, sino mas bien informacion pura.
Los tipos primitivos permiten el uso de operadores, como +
, -
, *
, etc, y son los unicos tipos que permiten este tipo de acciones. Los tipos primitivos NO reciben mensajes, ya que no son objetos, solo representan informacion.
Para crear tipos primitivos basta con escribirlo, no es necesario usar new
.
int unEntero = 10;
char unCaracter = 'a';
double puntoFlotante = 5.1;
Los objetos son las intancias de una clase. Es decir, son el concepto especifico, concreto, que quiere representar una clase.
En Java todos los objetos tienen una clase asociada, y para ser instanciados esto debe hacerse con el keyword new
:
MiClase objeto = new MiClase();
Tambien, un objeto puede tener varios tipos, para ello una clase puede extender otras clases (extends
), o puede implementar interfaces (implements
). Los detalles de esto se veran en el transcurso del curso.
Encontrara mayores detalles respecto a objetos en la pagina de Objetos, y sobre los keywords extends
e implements
en la pagina de Herencia.
En los lenguajes orientados a objetos no hablamos de llamar funciones_, sino mas bien enviar/mandar mensajes. Java es un lenguaje donde los mensajes siempre son entendidos. Esto significa que, a diferencia de Python por ejemplo, si llamamos un metodo de un objeto, el programa nunca se caera porque ese metodo no existe; el compilador atrapara todos esos problemas antes de que el programa siquiera se ejecute.
Esto es lo que se llama un lenguaje tipado, o de tipos estaticos. El compilador mira los tipos que nosotros declaramos y hace una revision de si lo que escribimos tiene sentido. Si no lo tiene (llamamos un metodo de la clase String
a una lista por ejemplo), el programa no compilara. Esto es lo que se llama un lenguaje safe.
En Java ya sabemos que los objetos pueden tener metodos y variables. Por defecto estos metodos y variables estan asociadas acada objeto especifico, por lo que cada objeto tiene sus propios metodos y variables. Existe el concepto de metodo y variable estatica, que significa que en vez de estar asociado a un metodo, esta asociado a la clase. Esto es lo mas similar que podemos llegar a una funcion en Java.
Los metodos y variables que no son estaticas se llaman "de instancia". Para declarar variables o metodos como estaticos se antepone el keyword static
:
public class UnaClase {
private static int variableEstatica = 10;
private int variableDeInstancia = 100;
public static void metodoEstatico() {
System.out.println("Estoy en un metodo de la clase!");
}
public void metodoDeInstancia() {
System.out.println("Estoy en un metodo del objeto!");
}
}
Mas detalles respecto a esto lo encontrara en la pagina de Metodo Estaticos.
- Conocimientos previos necesarios
- Sobre el curso:
- Ayudas
- Java
- Patrones (TODO)
- Convenciones (TODO)
- FAQ