Java Class Variables
In this chapter you will learn:
- What are the three types of class variables
- How Java class member variables got initialized
- Example - Member variable
- How does automatic variable(method local variables) got initialized
- How does Class variable (static variable) got initialized
Three types of class variables
Java supports variables of three different lifetimes:
- Member variable
- Method local variables
- Static variable
Class member variable
A member variable of a class is created when an instance is created, and it is destroyed when the object is destroyed. All member variables that are not explicitly assigned a value during declaration are automatically assigned an initial value. The initialization value for member variables depends on the member variable's type.
The following table lists the initialization values for member variables:
Element Type | Initial Value |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
char | '\u0000' |
boolean | false |
object reference | null |
In the following example, the variable x is set to 20 when the variable is declared.
public class Main{
int x = 20;
}
Example
The following example shows the default value if you don't set them.
class MyClass {/* w w w. j a v a2s. c o m*/
int i;
boolean b;
float f;
double d;
String s;
public MyClass() {
System.out.println("i=" + i);
System.out.println("b=" + b);
System.out.println("f=" + f);
System.out.println("d=" + d);
System.out.println("s=" + s);
}
}
public class Main {
public static void main(String[] argv) {
new MyClass();
}
}
The output:
Example for method local variables
An automatic variable of a method is created on entry to the method and exists only during execution of the method. Automatic variable is accessible only during the execution of that method. (An exception to this rule is inner classes).
Automatic variable(method local variables) are not initialized by the system. Automatic variable must be explicitly initialized before being used. For example, this method will not compile:
public class Main{
public int wrong() {
int i;/*w w w.j av a 2 s .c om*/
return i+5;
}
}
The output when compiling the code above:
Class variable (static variable)
There is only one copy of a class variable,
and it exists regardless of the number of instances of the class.
Static variables are initialized at class load time;
here y
would be set to 30 when the Main
class is loaded.
public class Main{
static int y = 30;
}
Next chapter...
What you will learn in the next chapter:
- What is Java main() Method
- What is the syntax to declare main() method
- How to pass command line arguments to main method
Java Object
Java Object Reference Variable
Java Methods
Java Method Return
Java Method Parameters
Java Class Constructors
Java Default Constructor
Java Constructor Parameters
Java this Keyword
Java static keyword
Java Method Overload
Java Constructors Overload
Java Method Argument Passing
Java Method Recursion
Java Nested Class
Java Anonymous Classes
Java Local Classes
Java Member Classes
Java Static Member Classes
Java Class Variables
Java main() MethodJava Class Inheritance
Java super keyword
Java Method Overriding
Java Constructor in hierarchy
Polymorphism
Java final keyword
Java Abstract class
Java Class Access Control
Java Package
Java Packages Import
Java Interface
Java Interface as data type
Java interface as build block
Java instanceof operator
Java Source Files