LOCAL VARIABLES & PARAMETER VARIABLES
A local variable is a variable declared in the body of a method.
A parameter variable(s) is/are declared in the method headers
e.g.
class Circle { public double getArea(double radius) // radius us a parameter variable { double area= 3.14 * radius * radius; // area is a local variable return area; } }
when the method runs, the local and parameter variables come to life, when the method exits, they die immediately.
INSTANCE VARIABLES
An object of a class is called an instance on the class. Instance variables will be accessible to all methods in the class where they’re contained.
class Circle { double radius; // this is an instance variable public double getArea() { double area= 3.14 * radius * radius; return area; } }
… every object has its own copy of instance variables.
e.g.
Circle c = new Circle();
c.radius = 5.2;
this creates a circle object with radius value of 5.2.
Circle d = new Circle();
d.radius = 3.6;
this creates a circle object with radius value of 3.6.
Instance variables do not need to be initialised, but we use a constructor if you want to initialise them.
Instance variables are alive as long as the object is alive.
If instance variables are not initialised, they are given default values:
Numbers are given default 0.
Objects are given null.
Boolean has default of false.
e.g.
class Person{ String name; public void display(){ System.out.println(name.length()); } }
This will give an error as the object ‘name’ is given a null value. You CANNOT call methods on a reference whose value is null.
With parameter variables, you’re never supposed to change them.
BAD WAY
public void deposit(int amount){ amount = balance + amount; }
GOOD WAY
public void deposit(int amount){ double newBalance = balance + amount; }