DEV Community

FUNDAMENTOS JAVA
FUNDAMENTOS JAVA

Posted on

1

Construtores, métodos, variáveis de instância e enumerações

  • Cada constante de enumeração é um objeto do tipo da enumeração.

  • Uma enumeração pode ter:

  • Construtores: Chamados ao criar cada constante.

  • Métodos: Podem ser chamados pelas constantes.

  • Variáveis de instância: Cada constante possui sua própria cópia.

  • Esses recursos permitem associar informações específicas a cada constante, como uma velocidade típica no exemplo mencionado.

// Usa um construtor, uma variável de instância e um método com a enumeração.
enum Transport {
CAR(65), TRUCK(55), AIRPLANE(600), TRAIN(70), BOAT(22); //Observe os valores de inicialização.
//Adiciona uma variável de instância
private int speed; // velocidade típica de cada meio de transporte
// Construtor
Transport(int s) { speed = s; }
int getSpeed() { return speed; }
}
class EnumDemo3 {
Adiciona um método.
public static void main(String args[])
{
Transport tp;
// Exibe a velocidade de um avião.
System.out.println("Typical speed for an airplane is " +
Transport.AIRPLANE.getSpeed() +
" miles per hour.\n");
//Obtém a velocidade chamando getSpeed( ).
// Exibe todos os meios de transporte e velocidades.
System.out.println("All Transport speeds: ");
for(Transport t : Transport.values())
System.out.println(t + " typical speed is " +
t.getSpeed() +
" miles per hour.");
}
}

  • A enumeração Transport adiciona:

  • Variável de instância speed: Armazena a velocidade de cada meio de transporte.

  • Construtor: Recebe e atribui o valor de velocidade.

  • Método getSpeed(): Retorna o valor de speed.

  • Constantes da enumeração incluem os argumentos do construtor em parênteses e terminam com ponto e vírgula (;) se houver outros membros na enum.

CAR(65), TRUCK(55), AIRPLANE(600), TRAIN(70), BOAT(22);

  • Cada constante tem sua própria cópia de speed, permitindo valores diferentes e independentes entre as constantes.

Transport.AIRPLANE.getSpeed(); // Retorna 600.

  • A velocidade de cada transporte pode ser acessada em um laço for.

  • Java permite sobrecarga de construtores em enumerações, como em qualquer outra classe.

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay