Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vista previa

static y constantes

Esta es la primera página de la lección. Léela y prueba las actividades. El resto está en el curso completo.

30 minutos

Quién cuenta las entradas

Vendes entradas para un concierto. Cada entrada tiene su número: la 1, la 2, la 3.

Pero alguien tiene que saber cuántas llevas vendidas. Ese dato no es de una entrada. Es de todas a la vez.

Hoy aprendes a guardar datos que pertenecen a la clase y no a cada objeto.

Palabras clave

PalabraQué significaEjemplo
staticMarca algo que es de la clase entera y no de un objeto concreto.static int created;
Atributo de claseUn dato compartido: solo hay uno, aunque haya cien objetos.Ticket.created
finalUn valor que se guarda una vez y no se puede cambiar más.final double VAT
ConstanteUn dato que nunca cambia. Se escribe en mayúsculas.VAT
IVAEl impuesto que se suma al precio de lo que compras.21 por ciento

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Un dato de todos

Un atributo normal existe una vez en cada objeto. Cien entradas, cien números.

Si escribes static delante, el atributo existe una sola vez, en la clase. Todos los objetos lo comparten.

Para llegar a él usas el nombre de la clase y el punto: Ticket.created.

Pruébalo: contar las entradas

Código: java
class Ticket {
    static int created = 0;
    int number;

    Ticket() {
        created = created + 1;
        number = created;
    }
}

public class Main {
    public static void main(String[] args) {
        Ticket first = new Ticket();
        Ticket second = new Ticket();
        Ticket third = new Ticket();

        System.out.println("Número de la segunda: " + second.number);
        System.out.println("Entradas creadas: " + Ticket.created);
        // Crea una cuarta entrada y mira los dos números.
    }
}

Ejemplo resuelto: el contador y los números

LíneaTicket.creatednumber de esa entrada
new Ticket() la primera11
new Ticket() la segunda22
new Ticket() la tercera33
Después de las tres3cada una guarda el suyo

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Repaso rápido

Inténtalo

Repaso rápido

3 preguntas
Pruébalo: tus respuestas se corrigen aquí y después se olvidan. Inicia sesión si quieres que se guarde tu puntuación y continuar donde lo dejaste.Iniciar sesión para guardar tu puntuación

Tus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.

Un valor que no cambia

El IVA de una compra es del 21 por ciento. Ese número no debe cambiar por error en medio del programa.

Con final lo guardas una vez y se queda así. Si alguien intenta cambiarlo, el programa no compila.

Una constante suele ser static final y se escribe en MAYÚSCULAS.

Pruébalo: el precio con IVA

Código: java
class Shop {
    static final double VAT = 0.21;

    static double withVat(double price) {
        return price + price * VAT;
    }
}

public class Main {
    public static void main(String[] args) {
        // Un método static se llama con el nombre de la clase.
        System.out.println(Shop.withVat(100));
        System.out.println(Shop.withVat(50));
        System.out.println("Máximo de 3 y 8: " + Math.max(3, 8));
        // Prueba a escribir Shop.VAT = 0.10; y lee el error.
    }
}

Ejemplo resuelto: precio más 21 por ciento

PrecioEl IVA esPrecio con IVA
100 euros21 euros121 euros
50 euros10,5 euros60,5 euros
200 euros42 euros242 euros

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

La lección continúa

6 partes más de esta lección están en el curso completo, con los ejercicios y la comprobación final. Una cuenta te da todo.