Example1:-
class Student
{
String name;
int roll;
String address;
String course;
String instName;
void getData()
{
System.out.println("Student information is:-");
System.out.println("Name: "+name);
System.out.println("RollNumber: "+roll);
System.out.println("Address is: "+address);
System.out.println("Course is : "+course);
System.out.println("Institute is : "+instName);
}
public static void main(String[]args)
{
Student s=new Student();
s.getData();
}
}
Output:-
C:\JAVATECH>javac Student.java
C:\JAVATECH>java Student
Student information is:-
Name: null
RollNumber: 0
Address is: null
Course is : null
Institute is : null
In the output 0 is default value of integer variable and null is
default value of all secondary data types.
In the above program we have two types of variables, instance
variable and local variable. Total five instance variables are declared in
class Student (name, roll, address, course and instName) and one local variable
declared in main method(s).
In the above code s is local variable because s is
declared inside main method, s will get memory inside stack when control goes
to the line Student s=new
Student (); in this line s is reference variable of class
Student and right hand side part of line that is new Student ();, create a object and assign the
address of created object to left hand side variable s.
In new
Student (), new is a keyword,
is used for creating run time object and Student is a class so when the new Student() line executed then inside
heap area a object is created and all non static instance variables takes
memory inside object and initialize with default value. so for each object all
non static variable occupied memory in object.
Example2:-
class Student
{
String name;
int roll;
String address;
String course;
String instName;
void setData()
{
name="Rudraksha";
roll=101;
address="106,Shiv city Indore";
course="B.Tech";
instName="IIT Indore";
}
void getData()
{
System.out.println("Student information is:-");
System.out.println("Name: "+name);
System.out.println("RollNumber: "+roll);
System.out.println("Address is: "+address);
System.out.println("Course is : "+course);
System.out.println("Institute is : "+instName);
}
public static void main(String[]args)
{
Student s=new Student();
s.getData(); //print default value for all instance
variable.
s.setData();
s.getData(); //print set values of setData function.
}
}
Output:-
C:\JAVATECH>javac Student.java
C:\JAVATECH>java Student
Student information is:-
Name: null
RollNumber: 0
Address is: null
Course is : null
Institute is : null
Student information is:-
Name: Rudraksha
RollNumber: 101
Address is: 106,Shiv city Indore
Course is : B.Tech
Institute is : IIT Indore
In the above program instName variable has same value IIT Indore for every object, so no need to
allocate memory for this variable for each object.
We have to declare instName variable as a static and assign value IIT Indore, this variable takes memory in class
area, one time in whole life at the time of class loading and every object
share this variable.
Example3:-
class Student
{
String name;
int roll;
String address;
String course;
static String instName="IIT Indore";
void setData()
{
name="Rudraksha";
roll=101;
address="106,Shiv city Indore";
course="B.Tech";
}
void getData()
{
System.out.println("Student information is:-");
System.out.println("Name: "+name);
System.out.println("RollNumber: "+roll);
System.out.println("Address is: "+address);
System.out.println("Course is : "+course);
System.out.println("Institute is : "+instName);
}
public static void main(String[]args)
{
Student s=new Student();
s.getData();
s.setData();
s.getData();
}
}
Output:-
C:\JAVATECH>javac Student.java
C:\JAVATECH>java Student
Student information is:-
Name: null
RollNumber: 0
Address is: null
Course is : null
Institute is : IIT Indore
Student information is:-
Name: Rudraksha
RollNumber: 101
Address is: 106,Shiv city Indore
Course is : B.Tech
Institute is : IIT Indore
Example4:-
class Student
{
String name;
int roll;
String address;
String course;
static String instName="IIT Indore";
void setData()
{
name="Rudraksha";
roll=101;
address="106,Shiv city Indore";
course="B.Tech";
}
void getData()
{
System.out.println("Student information is:-");
System.out.println("Name: "+name);
System.out.println("RollNumber: "+roll);
System.out.println("Address is: "+address);
System.out.println("Course is : "+course);
System.out.println("Institute is : "+instName);
}
public static void main(String[]args)
{
Student s=new Student();
s.setData();
s.getData();
}
}
Output:-
C:\JAVATECH>javac Student.java
C:\JAVATECH>java Student
Student information is:-
Name: Rudraksha
RollNumber: 101
Address is: 106,Shiv city Indore
Course is : B.Tech
Institute is : IIT Indore
Comments
Post a Comment