Java Final Keyword

Final keyword in java is used to limiting the user. It is used to restrict method overriding, restrict inheritance, and used to make variable as constant. Final keyword can initialize in constructor only.

In java final keyword is used in the following:

  • Final variable
  • Final method
  • Final class

Now we can learn the basics and detailed of a final keyword.

Java Final variable

In the java final variable, if we make any variable as final, we cannot change the value of the final variable because it will be a constant variable.

Example of Final variable
		class Car{  
		 final int speedlimit=140;	//final variable  
		 void run(){  
		  speedlimit=200;  
		 }  
		 public static void main(String args[]){  
		 Car obj=new  Car();  
		 obj.run();  
		 }  
		}				//end of class  
Output

Show error

In this example, speed limit is final variable, and we are going to change the value of this variable, but it cannot change because once the variable is declared with a final keyword cannot be modified by the program after initialization.

Java Final method

In the final method, when we make any method as final, then we cannot override it, or we can say subclasses cannot override the method.

Example of Final method
		class Car{
		  final void run(){System.out.println("car running");}
		}

		class maruti extends Car{
		   void run(){System.out.println("car running safely with 200kmph");}


		   public static void main(String args[]){
		   maruti maruti= new Maruti();
		   maruti.run();
		   }
		}
Output

Compile time error

Java Final class

In java final class, the class cannot be inheriting by other classes. If we make any class as final, then we cannot extend it.

Example of Final class
		final class Car{}
		  class Maruticar extends Car{
		   void run(){System.out.println("car running safely with 200kmph");}

		   public static void main(String args[]){
		   Maruticar Maruti= new Maruti();
		   maruti.run();
		   }
		 }
Output

Compile time error

Final method inherited Example
		class Car{
		  final void run(){System.out.println(" Car is running");}
		}
		class Maruti extends Car{
		   public static void main(String args[]){
		    new Maruti().run();
		   }
		}
Output

Car is running

The Final method is inherited but cannot override

Blank Final variable Example
		class Car{
		  final int Carspeed;		//blank final variable
		  Car(){
		  Carspeed=100;
		  System.out.println(Carspeed );
		  }
		
		  public static void main(String args[]){
		    new Car();
		 }
		}
Output

100

Copyright 1999- Ducat Creative, All rights reserved.