What is scope of a variables in Java?
Scope refers to the visibility of variables. In other words, a scope is a section of a program, and the scope of variables refers to the section of the program where the variables are visible.
Variables are declared and used within that region. Also variable declared within the block cannot be accessed outside that block.
Before understanding the variable’s scope, lets us see some certain rules to declare the variables:
- The first character must be a letter.
- A variable name can consist of letters A-Z, a-z, digits 0-9, and two special characters such as underscore(_) and the dollar sign($).
- Blank spaces cannot be used in variable names.
- Java keywords cannot be used as variable names.
- Variable names are case-sensitive.
Types of Variables in Java:
- local variable
- instance variable
- static variable
Let’s learn the scope of these each variable with an example:
1. Local Variable:
A variable that is declared within the body of the method or constructor is called a local variable. This variable is used only within that block or method where it was created other classes cannot access it. And is destroyed after exiting the method or block.
Initialization of Local Variables is necessary.
Example of local variable:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class Employees { public void EmployeeInfo() { // local variable age int age = 0; String name = "Prashant"; age = age + 30; System.out.println("Employee age is : " + age); System.out.println("Employee name is : " + name ); } public static void main(String args[]) { Employees emp = new Employees(); emp.EmployeeInfo(); } } |
Output:
1 2 | Employee age is : 30 Employee name is : Prashant |
2. Instance Variable:
These are the non-static variable that is declared within the class but outside the method or constructor. With the creation of Objects, Instance Variable is created and destruction of an object destroys the variables.
And can be accessed only by creating objects. Initialization of Instance Variable is not necessary as it is 0 by default.
Example of Instance variable:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | public class Employees { // this instance variable String name; int age; public Employees (String EmployeeName) { name = EmployeeName; } public void EmpAge(int EmployeeAge) { age = EmployeeAge; } public void Display() { System.out.println("Employee name: " + name ); System.out.println("Employee age :" + age); } public static void main(String args[]) { Employees r = new Employees("Prashant"); r.EmpAge(20); r.Display(); } } |
Output:
1 2 | Employee name: Prashant Employee age :20 |
3. Static variable:
These variables are also known as class Variables. These are declared just like Instance Variable that within the class but outside the constructor or method but the difference is that static variable is declared using static keyword.
Unlike the Instance variable, only one static variable is created its value remains the same for all objects no matter how many objects the user creates. Here initialization is not mandatory, it is 0 by default.
Example of Static variable:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class Employees { //static variable static int id = 1101; public static void main(String[] args) { Employees emp = new Employees(); // Call static variable using object reference variable int a = emp.id; System.out.println("Employee ID: "); System.out.println(Employees.id); } } |
Output:
1 2 | Employee ID: 1101 |