logo

Classes e objetos em Java

Em Java, classes e objetos formam a base da Programação Orientada a Objetos (OOP). Eles ajudam a modelar entidades do mundo real e a organizar o código de forma estruturada.

  • Uma classe é um modelo usado para criar objetos que compartilham propriedades e comportamentos comuns.
  • Um objeto é uma instância de uma classe. Representa uma entidade específica criada a partir do modelo de classe.

Por exemplo Dog é uma classe Tommy é um objeto dessa classe.

Classe_Objeto_exemplo' title=Classes e objetos (aqui Dog é a classe e Bobby é o objeto)

Classe Java

Uma classe é um modelo que define dados e comportamento de objetos. Ele agrupa campos e métodos relacionados em uma única unidade. A memória para seus membros é alocada somente quando um objeto é criado.



  • Atua como modelo para criar objetos com estrutura compartilhada.
  • Não ocupa memória para campos até a instanciação.
  • Pode conter campos, métodos, construtores, classes e interfaces aninhadas.
Java
class Student {  int id;  String n;  public Student(int id String n) {  this.id = id;  this.n = n;  } } public class Main {  public static void main(String[] args) {  Student s1 = new Student(10 'Alice');  System.out.println(s1.id);  System.out.println(s1.n);  } } 

Saída
10 Alice 

Objetos Java

Um objeto é uma instância de uma classe criada para acessar seus dados e operações. Cada objeto mantém seu próprio estado.

  • Estado : Valores armazenados em campos.
  • Comportamento : Ações definidas através de métodos.
  • Identidade : Distingue um objeto de outro.

Os objetos refletem itens do mundo real, como produto do cliente ou círculo. Objetos não primitivos são armazenados na pilha enquanto suas referências permanecem na pilha.

lista java de
Objetos em Java' loading='lazy' title=Objetos Java (exemplo de cães)

Instanciação de objetos

A criação de um objeto é conhecida como instanciação. Todas as instâncias de uma classe compartilham estrutura e comportamento enquanto armazenam diferentes valores de estado.

Declarando objetos em Java' loading='lazy' title=Declaração de objeto Java

Declaração:

rede e Internet

Cachorro tufado;

Isso apenas declara uma referência. O objeto não é criado e a referência é nula.

Inicialização:

tuffy = novo Cachorro('Tuffy' 'Papillon' 5 'Branco');

Classes e objetos em Java-3-768' loading='lazy' title=Inicialização

O novo operador aloca memória e invoca o construtor.

Exemplo: Definindo e Usando uma Classe

Java
public class Dog {  String name;  String breed;  int age;  String color;  public Dog(String name String breed int age String color) {  this.name = name;  this.breed = breed;  this.age = age;  this.color = color;  }  public String getName() { return name; }  public String getBreed() { return breed; }  public int getAge() { return age; }  public String getColor() { return color; }  @Override  public String toString() {  return 'Name is: ' + name  + 'nBreed age and color are: '  + breed + ' ' + age + ' ' + color;  }  public static void main(String[] args) {  Dog tuffy = new Dog('tuffy' 'papillon' 5 'white');  System.out.println(tuffy);  } } 

Saída
Name is: tuffy Breed age and color are: papillon 5 white 

Observação: Cada classe possui pelo menos um construtor. Se nenhum for definido, Java fornece um construtor padrão sem argumentos que chama o construtor pai.

Inicialize o objeto usando método/função

Java
public class Geeks {  static String name;  static float price;  static void set(String n float p) {  name = n;  price = p;  }  static void get() {  System.out.println('Software name is: ' + name);  System.out.println('Software price is: ' + price);  }  public static void main(String[] args) {  Geeks.set('Visual Studio' 0.0f);  Geeks.get();  } } 

Saída
Software name is: Visual Studio Software price is: 0.0 

Maneiras de criar objetos em Java

Java oferece suporte a quatro abordagens padrão.

1. Usando nova palavra-chave

Maneira mais direta de criar um objeto.

Java
// creating object of class Test  Test t = new Test(); 

2. Usando reflexão

Usado para carregamento dinâmico de classes, conforme visto em frameworks como Spring.

caractere.compare java
Java
class Student {  public Student() {} } public class Main {  public static void main(String[] args) {  try {  Class c = Class.forName('Student');  Student s = (Student) c.getDeclaredConstructor().newInstance();  System.out.println(s);  } catch (Exception e) {  e.printStackTrace();  }  } } 

Saída
Student@1dbd16a6 

3. Usando o método clone()

clone() cria uma cópia de um objeto existente. A classe deve implementar Cloneable.

Java
class Geeks implements Cloneable {  String name = 'GeeksForGeeks';  @Override  protected Object clone() throws CloneNotSupportedException {  return super.clone();  }  public static void main(String[] args) {  try {  Geeks g1 = new Geeks();  Geeks g2 = (Geeks) g1.clone();  System.out.println(g2.name);  } catch (Exception e) {  e.printStackTrace();  }  } } 

Saída
GeeksForGeeks 

4. Usando desserialização

A desserialização é uma técnica de leitura de um objeto do estado salvo em um arquivo. O objeto é recriado a partir de um fluxo de bytes armazenado.

Consulte Serialização/desserialização em Java .

Java
import java.io.*; class Student implements Serializable {  private String name;  public Student(String name) { this.name = name; }  public String toString() { return 'Student: ' + name; } } public class Main {  public static void main(String[] args) {  try (ObjectOutputStream out =  new ObjectOutputStream(new FileOutputStream('student.ser'))) {  out.writeObject(new Student('Alice'));  } catch (IOException e) { e.printStackTrace(); }  try (ObjectInputStream in =  new ObjectInputStream(new FileInputStream('student.ser'))) {  Student s = (Student) in.readObject();  System.out.println(s);  } catch (Exception e) { e.printStackTrace(); }  } } 

Saída
Student: Alice 

Uma única referência pode apontar para objetos diferentes em momentos diferentes.

Java
Test test = new Test(); test = new Test(); 

Na herança é comum usar uma referência pai para objetos filhos.

Java
Animal obj = new Dog(); obj = new Cat(); 

Objetos não referenciados tornam-se elegíveis para coleta de lixo.

c# contém string

Objetos Anônimos

Objetos anônimos são criados sem referência e usados ​​imediatamente para operações únicas.

  • Nenhuma variável de referência: não é possível reutilizar o objeto.
  • Criado e usado economiza memória instantaneamente para tarefas de curta duração.
  • Comum no tratamento de eventos (por exemplo, cliques em botões).
Java
new Dog('Max' 'Labrador' 3 'Black').getName(); 

Comum no tratamento de eventos de UI.

Criar questionário