//Instanciar una clase en un objeto Auto bmw=new Auto(); Auto seat; // Puedo acceder a las cosas que he definido en la clase bmw.color="Azul metalizado"; bmw.arrancar(); // Para usar un objeto lo tengo que instanciar seat=new Auto(); seat.color="Verde"; Auto[] concesionario= {bmw,seat,new Auto(),new Auto(),new Auto()}; concesionario[0].color="Rojo"; System.out.println(bmw.color); seat=new Auto(); // seat ----> [color,arrancar] (Auto@372f7a8d) System.out.println(seat); Auto copia=seat; // no copio el objeto, apuntan al mismo sitio // Si cambio uno cambio el otro y viceversa // seat ----> [color,arrancar] // copia ------^ System.out.println(copia); //Auto@372f7a8d Auto clonado=new Auto(); clonado.color=bmw.color; Auto miCoche = new Auto(); miCoche.color = "Rosa"; miCoche.arrancar(); miCoche.estado(); miCoche.acelerar(); miCoche.estado(); for (int i = 0; i < 10; i++) { miCoche.acelerar(200); } miCoche.estado(); Alumno ana=new Alumno(); ana.nombre="Ana Pi"; ana.notas.addAll(Arrays.asList(1,2,3,4,5,6)); System.out.println(ana.media());
// Definición de la clase, no es un objeto public class Auto { public String color; int velocidad; int limiteVelocidad = 100; public void arrancar() { velocidad = 0; System.out.println("Brum brum "); } public void acelerar() { acelerar(10); } public void acelerar(int cantidad) { velocidad += cantidad; if (velocidad > 100) { velocidad = 100; } } public void frenar() { if (velocidad > 10) { velocidad -= 10; } } public void estado() { System.out.println("Vamos a " + velocidad + " por horaa!!"); } }
import java.util.ArrayList; public class Alumno { // El public es un modificador de acceso // Quiere decir que cualquiera puede acceder al valor public String nombre; // Tenemos tres sabores de protección // public, protected y private private ArrayList<Integer> notas; // Los parámetros que queremos poner al crear la clase public Alumno(String nombre) { // Las cosas que queremos que se ejecuten // cuando creamos la clase // this.nombre es el nombre del objeto // nombre es el parámetro que le pasamos this.nombre = nombre; notas = new ArrayList<Integer>(); } public Alumno() { // Llamando a la sobrecarga del constructor this("anonimo"); } public int ponNota(int nota) { // Me aseguro de que mis notas están entre 0 10 if (nota > 0 && nota <= 10) { notas.add(nota); } return notas.size(); } public double media() { double total = 0; // Desde dentro de la clase si que puedo acceder for (int nota : notas) { total += nota; } return total / this.notas.size(); } }