logo

Objetos e classes em Java

  1. Objeto em Java
  2. Aula em Java
  3. Variável de instância em Java
  4. Método em Java
  5. Exemplo de objeto e classe que mantém os registros dos alunos
  6. Objeto anônimo

Nesta página, aprenderemos sobre objetos e classes Java. Na técnica de programação orientada a objetos, projetamos um programa usando objetos e classes.

Um objeto em Java é uma entidade física e também lógica, enquanto uma classe em Java é apenas uma entidade lógica.

O que é um objeto em Java

objeto em Java

Uma entidade que possui estado e comportamento é conhecida como objeto, por exemplo, cadeira, bicicleta, marcador, caneta, mesa, carro, etc. Pode ser físico ou lógico (tangível e intangível). O exemplo de objeto intangível é o sistema bancário.

Um objeto possui três características:

    Estado:representa os dados (valor) de um objeto.Comportamento:representa o comportamento (funcionalidade) de um objeto como depósito, retirada, etc.Identidade:Uma identidade de objeto normalmente é implementada por meio de um ID exclusivo. O valor do ID não é visível para o usuário externo. No entanto, é usado internamente pela JVM para identificar cada objeto de forma exclusiva.
Características do objeto em Java

Por exemplo, Pen é um objeto. Seu nome é Reynolds; a cor é branca, conhecida como seu estado. É usado para escrever, então escrever é o seu comportamento.

Um objeto é uma instância de uma classe. Uma classe é um modelo ou projeto a partir do qual os objetos são criados. Portanto, um objeto é a instância (resultado) de uma classe.

Definições de objetos:

  • Um objeto é uma entidade do mundo real .
  • Um objeto é uma entidade de tempo de execução .
  • O objeto é uma entidade que tem estado e comportamento .
  • O objeto é uma instância de uma classe .

O que é uma classe em Java

Uma classe é um grupo de objetos que possuem propriedades comuns. É um modelo ou projeto a partir do qual os objetos são criados. É uma entidade lógica. Não pode ser físico.

Uma classe em Java pode conter:

    Campos Métodos Construtores Blocos Classe e interface aninhadas
Aula em Java

Sintaxe para declarar uma classe:

 class { field; method; } 

Variável de instância em Java

Uma variável criada dentro da classe, mas fora do método, é conhecida como variável de instância. A variável de instância não obtém memória em tempo de compilação. Ele obtém memória em tempo de execução quando um objeto ou instância é criado. É por isso que é conhecida como variável de instância.


Método em Java

Em Java, um método é como uma função usada para expor o comportamento de um objeto.

Vantagem do Método

  • Reutilização de código
  • Otimização de código

nova palavra-chave em Java

A palavra-chave new é usada para alocar memória em tempo de execução. Todos os objetos obtêm memória na área de memória Heap.


Exemplo de objeto e classe: main dentro da classe

Neste exemplo, criamos uma classe Student que possui dois membros de dados id e nome. Estamos criando o objeto da classe Student através da nova palavra-chave e imprimindo o valor do objeto.

Aqui, estamos criando um método main() dentro da classe.

Arquivo: Aluno.java

 //Java Program to illustrate how to define a class and fields //Defining a Student class. class Student{ //defining fields int id;//field or data member or instance variable String name; //creating main method inside the Student class public static void main(String args[]){ //Creating an object or instance Student s1=new Student();//creating an object of Student //Printing values of the object System.out.println(s1.id);//accessing member through reference variable System.out.println(s1.name); } } 
Teste agora

Saída:

 0 null 

Exemplo de objeto e classe: main fora da classe

No desenvolvimento em tempo real, criamos classes e utilizamos de outra classe. É uma abordagem melhor que a anterior. Vamos ver um exemplo simples, onde temos o método main() em outra classe.

ilhota java

Podemos ter várias classes em diferentes arquivos Java ou em um único arquivo Java. Se você definir várias classes em um único arquivo fonte Java, é uma boa ideia salvar o nome do arquivo com o nome da classe que possui o método main().

Arquivo: TestStudent1.java

 //Java Program to demonstrate having the main method in //another class //Creating Student class. class Student{ int id; String name; } //Creating another class TestStudent1 which contains the main method class TestStudent1{ public static void main(String args[]){ Student s1=new Student(); System.out.println(s1.id); System.out.println(s1.name); } } 
Teste agora

Saída:

 0 null 

3 maneiras de inicializar objeto

Existem 3 maneiras de inicializar objetos em Java.

  1. Por variável de referência
  2. Por método
  3. Por construtor

1) Exemplo de objeto e classe: inicialização por referência

Inicializar um objeto significa armazenar dados no objeto. Vejamos um exemplo simples onde inicializaremos o objeto através de uma variável de referência.

Arquivo: TestStudent2.java

 class Student{ int id; String name; } class TestStudent2{ public static void main(String args[]){ Student s1=new Student(); s1.id=101; s1.name='Sonoo'; System.out.println(s1.id+' '+s1.name);//printing members with a white space } } 
Teste agora

Saída:

 101 Sonoo 

Também podemos criar vários objetos e armazenar informações neles por meio de variáveis ​​de referência.

Arquivo: TestStudent3.java

 class Student{ int id; String name; } class TestStudent3{ public static void main(String args[]){ //Creating objects Student s1=new Student(); Student s2=new Student(); //Initializing objects s1.id=101; s1.name='Sonoo'; s2.id=102; s2.name='Amit'; //Printing data System.out.println(s1.id+' '+s1.name); System.out.println(s2.id+' '+s2.name); } } 
Teste agora

Saída:

 101 Sonoo 102 Amit 

2) Exemplo de objeto e classe: inicialização através de método

Neste exemplo, estamos criando os dois objetos da classe Student e inicializando o valor desses objetos invocando o método insertRecord. Aqui, exibimos o estado (dados) dos objetos invocando o método displayInformation().

Arquivo: TestStudent4.java

 class Student{ int rollno; String name; void insertRecord(int r, String n){ rollno=r; name=n; } void displayInformation(){System.out.println(rollno+' '+name);} } class TestStudent4{ public static void main(String args[]){ Student s1=new Student(); Student s2=new Student(); s1.insertRecord(111,'Karan'); s2.insertRecord(222,'Aryan'); s1.displayInformation(); s2.displayInformation(); } } 
Teste agora

Saída:

 111 Karan 222 Aryan 
Objeto em Java com valores

Como você pode ver na figura acima, o objeto obtém a memória na área de memória heap. A variável de referência refere-se ao objeto alocado na área de memória heap. Aqui, s1 e s2 são variáveis ​​de referência que se referem aos objetos alocados na memória.


3) Exemplo de objeto e classe: inicialização através de um construtor

Aprenderemos sobre construtores em Java mais tarde.


Exemplo de objeto e classe: Funcionário

Vejamos um exemplo em que mantemos registros de funcionários.

Arquivo: TestEmployee.java

 class Employee{ int id; String name; float salary; void insert(int i, String n, float s) { id=i; name=n; salary=s; } void display(){System.out.println(id+' '+name+' '+salary);} } public class TestEmployee { public static void main(String[] args) { Employee e1=new Employee(); Employee e2=new Employee(); Employee e3=new Employee(); e1.insert(101,'ajeet',45000); e2.insert(102,'irfan',25000); e3.insert(103,'nakul',55000); e1.display(); e2.display(); e3.display(); } } 
Teste agora

Saída:

 101 ajeet 45000.0 102 irfan 25000.0 103 nakul 55000.0 

Exemplo de objeto e classe: retângulo

É dado outro exemplo que mantém os registros da classe Rectangle.

Arquivo: TestRectangle1.java

 class Rectangle{ int length; int width; void insert(int l, int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle1{ public static void main(String args[]){ Rectangle r1=new Rectangle(); Rectangle r2=new Rectangle(); r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } 
Teste agora

Saída:

 55 45 

Quais são as diferentes maneiras de criar um objeto em Java?

Existem muitas maneiras de criar um objeto em java. Eles são:

  • Por nova palavra-chave
  • Pelo método newInstance()
  • Pelo método clone()
  • Por desserialização
  • Pelo método de fábrica etc.

Aprenderemos essas maneiras de criar objetos mais tarde.

Diferentes maneiras de criar um objeto em Java

Objeto anônimo

Anônimo significa simplesmente sem nome. Um objeto que não tem referência é conhecido como objeto anônimo. Ele pode ser usado apenas no momento da criação do objeto.

Se você precisar usar um objeto apenas uma vez, um objeto anônimo é uma boa abordagem. Por exemplo:

 new Calculation();//anonymous object 

Chamando método através de uma referência:

 Calculation c=new Calculation(); c.fact(5); 

Chamando método através de um objeto anônimo

 new Calculation().fact(5); 

Vamos ver o exemplo completo de um objeto anônimo em Java.

 class Calculation{ void fact(int n){ int fact=1; for(int i=1;i<=n;i++){ fact="fact*i;" } system.out.println('factorial is '+fact); public static void main(string args[]){ new calculation().fact(5); calling method with anonymous object < pre> <p>Output:</p> <pre> Factorial is 120 </pre> <a id="objectbyonetype"></a> <h3>Creating multiple objects by one type only</h3> <p>We can create multiple objects by one type only as we do in case of primitives.</p> <p>Initialization of primitive variables:</p> <pre> int a=10, b=20; </pre> <p>Initialization of refernce variables:</p> <pre> Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects </pre> <p>Let&apos;s see the example:</p> <pre> //Java Program to illustrate the use of Rectangle class which //has length and width data members class Rectangle{ int length; int width; void insert(int l,int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle2{ public static void main(String args[]){ Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } </pre> <span> Test it Now </span> <p>Output:</p> <pre> 55 45 </pre> <h3>Real World Example: Account</h3> <p>File: TestAccount.java</p> <pre> //Java Program to demonstrate the working of a banking-system //where we deposit and withdraw amount from our account. //Creating an Account class which has deposit() and withdraw() methods class Account{ int acc_no; String name; float amount; //Method to initialize object void insert(int a,String n,float amt){ acc_no=a; name=n; amount=amt; } //deposit method void deposit(float amt){ amount=amount+amt; System.out.println(amt+&apos; deposited&apos;); } //withdraw method void withdraw(float amt){ if(amount <amt){ system.out.println('insufficient balance'); }else{ amount="amount-amt;" system.out.println(amt+' withdrawn'); } method to check the balance of account void checkbalance(){system.out.println('balance is: '+amount);} display values an object display(){system.out.println(acc_no+' '+name+' creating a test class deposit and withdraw testaccount{ public static main(string[] args){ a1="new" account(); a1.insert(832345,'ankit',1000); a1.display(); a1.checkbalance(); a1.deposit(40000); a1.withdraw(15000); }} < pre> <span> Test it Now </span> <p>Output:</p> <pre> 832345 Ankit 1000.0 Balance is: 1000.0 40000.0 deposited Balance is: 41000.0 15000.0 withdrawn Balance is: 26000.0 </pre></amt){></pre></=n;i++){>

Criando vários objetos por apenas um tipo

Podemos criar vários objetos por um tipo apenas, como fazemos no caso de primitivos.

atalhos do linux

Inicialização de variáveis ​​primitivas:

 int a=10, b=20; 

Inicialização de variáveis ​​de referência:

 Rectangle r1=new Rectangle(), r2=new Rectangle();//creating two objects 

Vejamos o exemplo:

 //Java Program to illustrate the use of Rectangle class which //has length and width data members class Rectangle{ int length; int width; void insert(int l,int w){ length=l; width=w; } void calculateArea(){System.out.println(length*width);} } class TestRectangle2{ public static void main(String args[]){ Rectangle r1=new Rectangle(),r2=new Rectangle();//creating two objects r1.insert(11,5); r2.insert(3,15); r1.calculateArea(); r2.calculateArea(); } } 
Teste agora

Saída:

 55 45 

Exemplo do mundo real: conta

Arquivo: TestAccount.java

 //Java Program to demonstrate the working of a banking-system //where we deposit and withdraw amount from our account. //Creating an Account class which has deposit() and withdraw() methods class Account{ int acc_no; String name; float amount; //Method to initialize object void insert(int a,String n,float amt){ acc_no=a; name=n; amount=amt; } //deposit method void deposit(float amt){ amount=amount+amt; System.out.println(amt+&apos; deposited&apos;); } //withdraw method void withdraw(float amt){ if(amount <amt){ system.out.println(\'insufficient balance\'); }else{ amount="amount-amt;" system.out.println(amt+\' withdrawn\'); } method to check the balance of account void checkbalance(){system.out.println(\'balance is: \'+amount);} display values an object display(){system.out.println(acc_no+\' \'+name+\' creating a test class deposit and withdraw testaccount{ public static main(string[] args){ a1="new" account(); a1.insert(832345,\'ankit\',1000); a1.display(); a1.checkbalance(); a1.deposit(40000); a1.withdraw(15000); }} < pre> <span> Test it Now </span> <p>Output:</p> <pre> 832345 Ankit 1000.0 Balance is: 1000.0 40000.0 deposited Balance is: 41000.0 15000.0 withdrawn Balance is: 26000.0 </pre></amt){>