Skip to main content

Java static and this Keyword

Java static and this Keyword
There are various reserve words that Java provides to do different types of operations. Keywords are reserved words whose meanings are already known to Java compiler. There are two important keywords in Java that are used for very special purposes.
In this chapter we will learn about the two special types of keywords:
  • static
  • this

What is static in Java?

Static is a keyword that acts as a non-access modifier in Java that is used mainly to manage memory. The variable or Method that are marked static belongs to the Class rather than to any particular instance. A Static method cannot access an instance variable. If a Class contains any static blocks then that block will be executed only when the Class is loaded in JVM. Programmers can apply the Java keyword static with different programming objects like:
  • variables
  • methods
  • initialization – block
  • nested class

Static keyword is unacceptable to the following

  • Class
  • Constructor
  • Local inner classes
  • Inner class methods
  • Instance variables
  • Local Variables
  • Interfaces
Static variables or methods can be invoked without having an instance of the class. Only a class is needed to call up a static method or a static variable. If you declare any variable as static, it is known static variable. The static variable can refer to a common property of all objects (that is not unique for each object) e.g. company name of employees, college name of students etc. Memory in a static variable is reserved only once in a class area at the time of class loading. One advantage of using static is that it increases the efficiency of the memory.

Program for Static in Java

Example:
public class egStatic {
static int x = 60;
static void fun() {
System.out.println("Within Static");
}
public static void main(String[] args) {
egStatic
.fun();
System.out.println(egStatic.x);
egStatic S1
= new egStatic();
egStatic S2
= new egStatic();
System.out.println(S1.x);
S1
.fun();
}
}

Rules for using Static Variables

  • Variables or methods belong to class rather than to any particular instance
  • A static method cannot access a non-static variable of a class nor can directly invoke non-static method
  • Static members can be applied without creating or referencing an instance of the class
  • A static variable will be shared by all instances of that class which will result in only one copy

What is this keyword in Java?

This is another Java keyword which as a reference to the current object within an instance method or a constructor — the object whose method or constructor is being called. By the use of this keyword, programmers can refer to any member of the current object within an instance method or a constructor. This keyword can be used to refer to the current object and it always acts as a reference to an object in which method was invoked. There are the various uses of this keyword in Java. These are:
  • For referring current class instance variable, this keyword can be used
  • To invoke current class constructor, this() is used
  • this can be passed as message argument in a method call
  • In a constructor call, this can be passed as argument
  • For returning current class instance, this keyword is used

Program for this in Java

Example:
class Emp {
int e_id;
String name;

Emp(int e_id, String name) {
this.e_id = e_id;
this.name = name;
}
void show() {
System.out.println(e_id + " " + name);
}
public static void main(String args[]) {
Emp e1 = new Emp(1006, "Karlos");
Emp e2 = new Emp(1008, "Ray");
e1
.show();
e2
.show();
}
}

Comments

For Programs Click Here

Popular posts from this blog

Python Lists

Python Lists Dealing with data in a structured format is quiet generous, and this is possible if those data are set accordingly in a specific manner. So, Python provides these data structures named ‘lists’ and ‘tuples’ that are used to organize data in  single set. Python has 6 built-in sequences and among them the most famous are “lists and tuples”. The lists are containers that hold a number of other objects in a given order. It usually puts into practice the sequence protocol and allows programmers to add or remove objects from that sequence. Each element of the sequence is assigned a number i.e. he index and the first index is 0 (zero). This versatile data-type of Python is written in a sequence of list separated by commas between expressions. Creating Lists To build a list, just put a number of expressions in square brackets. The syntax is: Syntax: lst1 = [ ] # lst1 is the name of the list lst2 = [ expression1 , …. , expression_N ] Example: #!/usr/bin/python ls...

C++ Qualifiers and Storage Classes

C++ Qualifiers and Storage Classes Qualifiers and storage class are smaller but important programming concept that helps to make the quality of a variable more accurate for using that variable within the program. In this chapter you will learn about how qualifiers are used with variables and what the roles of different storage classes in C++ are. What is a Qualifier? A qualifier is a token added to a variable which adds an extra  quality , such as specifying volatility or constant-ness to a variable. They act like an adjective for a variable. With or without a qualifier, the variable itself still occupies the same amount of memory, and each bit has the same interpretation or contribution to the state/value. Qualifiers just specify something about how it may be accessed or where it is stored. Three qualifiers are there in C++. These are: const : This is used to define that the type is constant. volatile : his is used to define that the type is volatile. mutable:  applies to non...

C++ if-else Statements

C++ if-else Statements If else statements in C++ is also used to control the program flow based on some condition, only the difference is: it’s used to execute some statement code block if expression is evaluated to true, otherwise executes else statement code block. The basic format of if else statement is: Syntax: if ( test_expression ) { //execute your code } else { //execute your code } Figure – Flowchart of if else Statement: Example of a C++ Program to Demonstrate if else Statement Example: #include <iostream> using namespace std ; int main () { int a = 15 , b = 20 ; if ( b > a ) {    cout << "b is greater" << endl ; } else {    cout << "a is greater" << endl ; }    system ( "PAUSE" ); } Program Output: Example: #include <iostream> using namespace std ; int main () { char name ; int password ; cout << "Enter the name: " ; cin >>...