Todos vocês conhecem bem o conceito de variáveis em Java que é parte integrante da carreira Java ou de uma eventual certificação. Java nos dá a liberdade de acessar três variáveis, ou seja, variáveis locais, variáveis de classe e variáveis de instância. Neste artigo, eu estaria discutindo a implementação de variáveis de instância em Java. Abaixo estão os pontos que serão discutidos:
-
- O que é variável de instância em Java?
- Faatures of an instance variable
- How do you implement an instance variable in Java?
- Diferença entre uma variável de classe e uma variável de instância
Vamos começar!
O que é uma variável de instância em Java?
Variáveis de instância em Java são variáveis não estáticas que são definidas em uma classe fora de qualquer método, construtor ou bloco. Cada objeto instanciado da classe tem uma cópia ou instância separada dessa variável. Uma variável de instância pertence a uma classe.
Você deve estar se perguntando sobre o que é exatamente uma instância? Deixe-me ajudá-lo simplificando-a.
Quando você cria um novo objeto da classe você cria uma instância. Considere, se você tiver uma classe STUDENT, então
class Student{String studentName;int studentScore;}
E se você criar dois objetos STUDENT como,
Student student1 = new Student();Student student2 = new Student();
Então serão criadas duas instâncias da classe Student.
Agora cada aluno teria seu próprio nome e pontuação correta? Então o valor que é armazenado dentro de ‘studentName’ e ‘studentScore’ variaria para diferentes alunos, eles são chamados de ‘variáveis’. E como você viu que estas variáveis possuem seu próprio valor para cada instância, elas são chamadas Variáveis de Instância em Java.
Agora que você tenha entendido o significado das variáveis de Instância, vamos dar um passo adiante.
I irá alistar as características das variáveis de instância, o que o ajudará a usá-las em um código java com facilidade.
Características de uma variável de instância?
A vida de uma variável de instância depende da vida de um Objeto, ou seja, quando o objeto é criado, uma variável de instância também é criada e o mesmo acontece quando um objeto é destruído.
- A variável de instância só pode ser usada criando objetos
- Todos os objetos terão sua própria cópia das variáveis de instância
- A inicialização da variável de instância não é obrigatória. O valor padrão é zero
- A declaração é feita em uma classe fora de qualquer método, construtor ou bloco
- Variáveis de instância são usadas quando a variável tem que ser conhecida por diferentes métodos em uma classe
- Modificadores de acesso podem ser atribuídos a variáveis de instância
Após atingir o conhecimento teórico, você pode estar ponderando sobre como implementar variáveis de instância em Java! Vamos entender que em nosso próximo tópico.
Como implementar uma variável de instância em Java?
A implementação de variáveis de instância em Java é bastante fácil. Eu escrevi um código simples que o ajudará a compreender o uso técnico.
Aqui está um código detalhado :
package Edureka;import java.util.Scanner;public class Student{public String name;private int marks;public Student (String stuName) {name = stuName;}public void setMarks(int stuMar) {marks = stuMar;}// This method prints the student details.public void printStu() {System.out.println("Name: " + name );System.out.println("Marks:" + marks);}public static void main(String args) {Student StuOne = new Student("Ross");Student StuTwo = new Student("Rachel");Student StuThree = new Student("Phoebe");StuOne.setMarks(98);StuTwo.setMarks(89);StuThree.setMarks(90);StuOne.printStu();StuTwo.printStu();StuThree.printStu();}}
OUTPUT:
Nome: Ross
Marks:98
Name: Rachel
Marks:89
Name: Phoebe
Marks:90
Explicação:
No código acima, como podem ver criei três variáveis de instância, nomeadamente, ‘StuOne’, ‘StuTwo’, ‘StuThree’. Da mesma forma, você pode criar tantas variáveis quantas você precisar, dependendo da sua necessidade. Agora, à medida que vamos acumulando mais factos sobre a variável de instância, deixe-me também elaborar para si as diferenças entre uma variável de instância e uma variável de classe!
Diferença entre uma variável de instância e uma variável de classe
Para esclarecer as diferenças, eu anotei alguns pontos que irão ajudá-lo a descartar qualquer ambiguidade entre as duas.
Variável de instância | Variável de classe |
Cada objecto terá a sua própria cópia das variáveis de instância, portanto as alterações feitas a estas variáveis através de um objecto não se reflectirão noutro objecto. |
As variáveis de classe são comuns a todos os objetos de uma classe, se alguma alteração for feita nestas variáveis através de um objeto, ele também refletirá em outros objetos. |
As variáveis de instância são declaradas sem a palavra-chave estática. |
Variáveis de classe são declaradas com a palavra-chave estática |
Variáveis de classe só podem ser usadas através da referência do objeto. |
Variáveis de classe podem ser usadas através do nome da classe ou da referência do objeto. |
Com isto, chegamos ao final do blog. Espero que o conteúdo deste artigo tenha provado ser benéfico para vocês. Vamos continuar explorando o mundo Java nos próximos blogs. Fique ligado!
Agora que você entendeu “O que é variável de instância em Java”, confira o Treinamento Java da Edureka, uma empresa de aprendizado online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados pelo mundo. O curso de formação e certificação em Java J2EE e SOA da Edureka está pensado para estudantes e profissionais que queiram ser um Desenvolvedor Java. O curso foi concebido para lhe dar um avanço na programação Java e treiná-lo tanto para conceitos básicos como avançados de Java, juntamente com vários frameworks Java como Hibernate & Spring.
Se você deseja aprender mais sobre Java, você pode consultar o Tutorial Java.