Java Tutorial

What is Java


Control Statements


Java Object Class


Java Inheritance


Java Polymorphism


Java Abstraction


Java Encapsulation


Java Array

Java OOPs Misc


Final Keyword In Java


The final keyword in java is used to restrict the user. The java final keyword can be used in many context. Final can be:

  1. Variable
  2. Method
  3. Class

The final keyword can be applied with the variables, a final variable that have no value it is called blank final variable or uninitialized final variable. It can be initialized in the constructor only. The blank final variable can be static also which will be initialized in the static block only. We will have detailed learning of these. Let's first learn the basics of final keyword.

1) Java final variable

If you make any variable as final, you cannot change the value of final variable(It will be constant).

Example of final variable

There is a final variable speedlimit, we are going to change the value of this variable, but It can't be changed because final variable once assigned a value can never be changed.

class Pulser{
final int speedlimit=180;//final variable
void run(){
speedlimit=400;
}
public static void main(String args[]){
Pulser obj=new Pulser();
obj.run();
}
}

Output: Compile Time Error



2) Java final method

If you make any method as final, you cannot override it.

Example of final method

class Pulser{
final void run(){System.out.println("running");
}
}
class Honda extends Pulser{
void run(){System.out.println("running safely with 80kmph");
}
public static void main(String args[]){
Honda honda= new Honda();
honda.run();
}
}

Output: Compile Time Error



3) Java final class

If you make any class as final, you cannot extend it.

Example of final class

final class Pulser{
}
class Hero extends Pulser{
void run(){System.out.println("running safely with 80kmph");
}
public static void main(String args[]){
Hero h1= new Hero();
h1.run();
}
}

Output: Compile Time Error



Q) Is final method inherited?

Ans) Yes, final method is inherited but you cannot override it. For Example:

class Pusler{
final void run(){
System.out.println("Pulser is running hight speed...");
}
}
class Hero1 extends Pusler{
public static void main(String args[]){
new Hero1().run();
}
}

Output: Pulser is running high speed...



Q) What is blank or uninitialized final variable?

A final variable that is not initialized at the time of declaration is known as blank final variable.

If you want to create a variable that is initialized at the time of creating object and once initialized may not be changed, it is useful. For example PAN CARD number of an employee.

It can be initialized only in constructor.

Example of blank final variable

class Student{
int id;
String name;
final String PAN_CARD_NUMBER;
...
}


Q) Can we initialize blank final variable?

Yes, but only in constructor. For example:

class Bike2{
final int speedlimit;//blank final variable
Bike2(){
speedlimit=80;
System.out.println(speedlimit);
}
public static void main(String args[]){
new Bike2();
}
}

Output: 80



Q) Is final method inherited?

Ans) Yes, final method is inherited but you cannot override it. For Example:

class Pusler{
final void run(){
System.out.println("Pulser is running hight speed...");
}
}
class Hero1 extends Pusler{
public static void main(String args[]){
new Hero1().run();
}
}

Output: Pulser is running high speed...


Q) What is blank or uninitialized final variable?

A final variable that is not initialized at the time of declaration is known as blank final variable.

If you want to create a variable that is initialized at the time of creating object and once initialized may not be changed, it is useful. For example PAN CARD number of an employee.

It can be initialized only in constructor.

Example of blank final variable

class Student{
int id;
String name;
final String PAN_CARD_NUMBER;
...
}


Q) Can we initialize blank final variable?

Yes, but only in constructor. For example:

lass Bike4{
final int speedlimit;//blank final variable
Bike4(){
speedlimit=90;
System.out.println(speedlimit);
}
public static void main(String args[]){
new Bike4();
}
}

Output: 90



static blank final variable

A static final variable that is not initialized at the time of declaration is known as static blank final variable. It can be initialized only in static block.

Example of static blank final variable

class A{
static final int data;//static blank final variable
static{ data=60;}
public static void main(String args[]){
System.out.println(A.data);
}
}



Q) What is final parameter?

If you declare any parameter as final, you cannot change the value of it.

class Bike3{
int cube(final int n){
n=n+2;//can't be changed as n is final n*n*n;
}
public static void main(String args[]){
Bike3 b=new Bike3();
b.cube(5);
}
}

Output: complie time error...



Copyright ©2017 Design& development