Instance Variables
Instance variables are also known as fields or member variables. They are declared inside a class but outside of any methods. Instance variables are created when an object of the class is created and they belong to the object. Each object of the class has its own copy of the instance variables. They are also called non-static variables.
Example:
class Car {
int speed;
String colour;
}
The class "Car" has two instance variables, "speed" and "color," of type int and String.
Local Variables
Local variables are declared inside a method or a block of code. They are only accessible within the method or block where they are declared. They are also called automatic variables or stack variables. They are created when a method or block is executed, and they are destroyed when the method or block completes execution.
Example:
class Car {
int speed;
String colour;
void setSpeed(int newSpeed) {
int oldSpeed = speed;
speed = newSpeed;
System. out.println("Speed changed from " + oldSpeed + " to " + newSpeed); }
}
Here oldSpeed and newSpeed are two local variables
It's important to remember that each variable has a specific scope, which defines where it can be accessed. Instance variables have a wider scope than local variables, and they are accessible throughout the class, while local variables are only accessible within the method or block where they are declared.