Visual Cue
|
Narration
|
Slide 1
|
Welcome to the Spoken Tutorial on Static Variables.
|
Slide 2
Learning Objectives
- What are static variables
- Creating static variables
- How to use static variables
|
In this tutorial we will learn about:
- What are static variables
- Creating static variables and
- How to use static variables
|
Slide 3
Software Requirements
- Ubuntu 12.04
- JDK 1.7
- Eclipse 4.3.1
|
Here we are using
- Ubuntu 12.04
- JDK 1.7 and
- Eclipse 4.3.1
|
Slide 4
Prerequisites
- Basic knowledge of Java and Eclipse IDE
- Knowledge of classes, objects and instance variables
- For relevant tutorials, please visit http://www.spoken-tutorial.org
|
To follow this tutorial, you must have knowledge of basics of Java and Eclipse IDE.
You should also have the knowledge of classes, objects and instance variables in Java.
If not, for relevant Java tutorials, please visit the link shown.
|
Slide 5
What is a static variable?
- A static variable is a variable which is associated with the entire class
- It is also called a class variable
- It is declared using the static keyword
|
A static variable is a variable which is associated with the entire class.
It is also called a class variable.
It is declared using the static keyword.
|
|
We have seen about static variable briefly in the earlier tutorial.
In this tutorial we will see it in detail.
|
In Eclipse IDE, create a class StaticVariableDemo
|
Now we will switch to Eclipse and create a new project called StaticVariableDemo.
Inside this project we will create the necessary classes to demonstrate the usage of Static variables.
|
Right click on src folder -> new -> class, type StudentEnroll and hit Enter
Go back to slide 8 and show the code
Copy and paste the code
|
So right click on src folder and click new -> class, and type the name of the class as StudentEnroll and press Enter.
|
|
Let us illustrate the usage of static variables with an example.
|
Slide 6
Static Variable-Example
(Proceed with the Slide)
|
Consider a class created to represent student enrollments in an organisation.
This class contains the Name, Id , Branch and Total Count of students enrolled.
Now let us visualize what happens when student enrollments are done.
By default Total Count is 0.
The Name of the first student is ADIL.
Id is IT101. Branch is IT.
Now the Total Count is updated as 1.
Similarly when the second student AMAL gets enrolled Total Count is updated to 2.
When the third student CAROL gets enrolled, Total Count is updated to 3.
Now we can identify that the variable Total Count is common to all the objects and has a single value.
So the variable Total Count can be represented as a static variable.
We can also see that the variables Name, Id and Branch have their own copies for each object.
Also they have specific values for each object.
So these variables can be treated as instance variables
|
public class StudentEnroll {
private String id, name, branch;
public static int count=0;
}
|
Now let us look at the code representing the student enrollment class.
The name of the class is StudentEnroll.
The instance variables are declared as id, name and branch.
The variable count is declared as static since it is common to the whole class.
|
Slide 7(A)
When a class is loaded
- A static variable in a class occupies a single fixed memory location
- Instance variables of each object occupy separate memory locations
|
When a class is loaded
A static variable occupies a single fixed memory location
whereas
Instance variables of each object occupy separate memory locations.
|
click on source -> and select Generate Constructor using Fields
Delete the super keyword
|
Now click on source -> and select Generate Constructor using Fields,
Delete the super keyword from the generated code.
|
Constructor code
public StudentEnroll(String id, String name, String branch) {
this.id = id;
this.name = name;
this.branch = branch;
count++;
}
|
This constructor can initialise the values of the id, name and branch fields.
We also need to increment the value of the variable count by one every time an object is created.
So inside the constructor type,
count ++ semicolon
|
Type, public void showData()
{// Copy the code below
System.out.println(id+" " +name+" "+branch+" "+count);
}
|
Now we will add a method showData( ) to this class to print the the values of all the variables.
So type public void showData( )
within brackets type the following code to print the values of id, name, branch, total number of students enrolled.
|
Right click on the default package, click new-> class and then type name as Demo.
|
Now right click on the default package click new -> class and then type name as Demo.
Inside this class we will have the main method.
So type main and then press ctrl+space to generate the main method.
|
TypeSystem.out.println("Student Enrollment Data");
StudentEnroll s1=new StudentEnroll("IT101","ADIL","IT");
Type s1.showData( );
Highlight the values of s1
Highlight 1
StudentEnroll s2=new StudentEnroll("EC101","AMAL","EC");
copy and paste, s2.showData();
Click on Run icon
Highlight 2
StudentEnroll s3=new StudentEnroll("CS101","CAROL","CS");
Type, s3.showData();
Click on Run icon
Highlight 3
|
Now we need to print the Student Enrollment data.
We will create a few objects of StudentEnroll class to represent student enrollments.
So type StudentEnroll s1 equals new StudentEnroll
Now we can pass the values of different arguments
Within brackets type IT101 as id, ADIL as name and IT as branch.
Now let us invoke the showData method to print the enrollment details. So type
s1.showData( )
Now run the Demo program
We can see that the values of the instance variables corresponding to s1 get printed.
Also note that the value of the number of student enrollments is 1
This is because we have created only 1 object.
Now type the following code to create one more object s2.
The showData method can be called once again using s2.
Again run the Demo Program.
We can see that the values of the instance variables corresponding to s2 get printed.
Also note that the value of number of student enrollments is updated to 2 for both s1 and s2.
Now create one more object s3.
Now Let us Invoke the showData method again using s3.
Run the Demo Program again.
We can see that the values of instance variables corresponding to s3 get printed.
Also note that the value of number of student enrollments is now updated to 3 in all the cases.
Now we can understand that value of number of student enrollments is common to all the objects.
|
Slide 9
Static Variables - As Constants
- The static modifier is also used along with the final modifier
- It is done to define a constant which is common to the entire class
- The names of constant variables are spelled in upper-case letters
|
Come back to slides.
The static modifier, is also used along with the final modifier.
It is done to define a constant which is common to the entire class.
Conventionally, the names of such constant variables are spelled in uppercase letters.
|
Come back to eclipse
In StudentEnroll class and type,
public static final String ORG_NAME = “IITB”;
Inside the Demo class, type System.out.println(“ORGANISATION:”+StudentEnroll.ORG_NAME);
Highlight ORG_NAME and StudentEnroll
Run the Demo program
Point to ORGANISATION: IITB
|
Now come back to eclipse.
Open the StudentEnroll class and type the variable declaration as
public static final String ORG_NAME = “IITB”;
As an example, if all the students are getting enrolled to the same organisation say IITB.
It can be represented by using a constant static variable say ORG_NAME.
If the name is composed of more than one word, the words are separated by an underscore.
Usually we declare such constants
with a public visibility.
|
Click on Run icon
|
Now go to the Demo class and type the following code
Here you can see that ORG_NAME is accessed by using its class name StudentEnroll.
|
Click on Run icon
|
Now run the Demo Program again.
We can see that the ORGANISATION name is getting printed as IITB.
|
Slide 10
Summary
- What is a static variable and when it is used
- How to create and invoke the static variables
|
Let us summarize.
In this tutorial we have learnt about
- What is a static variable and when it is used
- How to create and invoke the static variables
|
Slide 11
Assignment
|
As an Assignment
Design a class CarService to represent a Car Service Station.
This class should contain variables to represent the following details:
Name of the Service Station
Car make, model and reg. no - which are in for service
No. of Cars in for Service
Identify the instance variables and static variables
Declare them using suitable keywords
Define a constructor to initialise the values for Car make, model and regno
Define a method show( ) to print the values of all the variables
Also create a Demo class containing the main method to verify the results
i.e
Create a few objects of CarService
Invoke the show( ) method using these objects
Also access the static variables directly using the class name.
|
About Project
|
The video at the following link summarizes the Spoken Tutorial Project.
Please download and watch it.
|
About Workshops
|
The Spoken Tutorial Project Team
• Conducts workshops using spoken tutorials and
• Gives certificates on passing the online tests
For more details, please write to us.
|
About NMEICT
|
Spoken Tutorial Project is funded by the NMEICT, MHRD, Government of India.
More information on this Mission is available at the link shown.
|
Contributor slide
|
This script has been contributed by:
Department of Information Technology, Amal Jyothi College of Engineering
This is Priya from IIT Bombay signing off. Thanks for joining.
|