Skip to main content

Final Modifier

Final Modifier:-Final is a modifier in java and this modifier is applicable for variable, method and class. Final modifier is used for restricting to change. Using this modifier we can declare final variable, final method and final class.
If variable is declared as a final then cannot change the value or cannot reassign the value of final variable.
If method is declared as a final then that method cannot redefine by the child classes or child classes cannot override final methods.
If class is declared as a final then that class cannot inherit.

Example1:-final variable (Customer.java)

class Customer
{
final int accNo;
 }

Output:-

C:\JAVATECH>javac Customer.java
Customer.java:3: error: variable accNo not initialized in the default constructor
final int accNo;
          ^
1 error

Example2:-

class Customer
{
final int accNo;
Customer()
{
accNo=101;
}
}

Output:-         (code compiles fine)

C:\JAVATECH>javac Customer.java
C:\JAVATECH>


Example3:-


class Customer
{
final int accNo;
Customer()
{
accNo=101;
}
public static void main(String[]args)
{
Customer c=new Customer();
System.out.println("Account No. is  "+c.accNo);
}
}

Output:-

C:\JAVATECH>javac Customer.java
C:\JAVATECH>java Customer
Account No. is  101


Example4:-


class Customer
{
final int accNo;
Customer()
{
accNo=101;
accNo=200;
}
public static void main(String[]args)
{
Customer c=new Customer();
System.out.println("Account No. is"+c.accNo);
}
}

Output:-

C:\JAVATECH>javac Customer.java
Customer.java:7: error: variable accNo might already have been assigned
accNo=200;
^
1 error

Example5:-

class Customer
{
final int accNo=101;

public static void main(String[]args)
{
Customer c=new Customer();
System.out.println("Account No. is  "+c.accNo);
}
}

Output:-

C:\JAVATECH>javac Customer.java
C:\JAVATECH>java Customer
Account No. is  101


Example6:-Final class example (Customer.java)

final class Bank
{
}
class Customer extends Bank
{
}

Output:-

C:\JAVATECH>javac Customer.java
Customer.java:5: error: cannot inherit from final Bank
class Customer extends Bank
                       ^
1 error


Example7:-


final class Bank
{
void m1()
{
System.out.println("Bank facility provided ");
}
}
class Customer //extends Bank
{
public static void main(String[]args)
{
Bank b=new Bank();
b.m1();
}
}

Output:-

C:\JAVATECH>javac Customer.java
C:\JAVATECH>java Customer

Bank facility provided


Example8:- final method example

class Bank
{
final void getBalance()
{
System.out.println("Your balance is ");
}
}
class XBank extends Bank
{
void getBalance()
{
System.out.println("Overriding getBalance");
}
}

Output:-

C:\JAVATECH>javac Customer.java
Customer.java:14: error: getBalance() in XBank cannot override getBalance() in Bank
void getBalance()
     ^
  overridden method is final
1 error

Example9:-


class Bank
{
void m1()
{
System.out.println("Bank facility provided ");
}
final void getBalance()
{
System.out.println("Your balance is by final method");
}
}
class XBank extends Bank
{
void m1()
{
System.out.println("Bank facility provided by XBank ");
}
}
class Customer
{
public static void main(String[]args)
{
XBank b=new XBank();
b.m1();
b.getBalance();
}
}

Output:-

 C:\JAVATECH>javac Customer.java
C:\JAVATECH>java Customer
Bank facility provided by XBank

Your balance is by final method

Comments

Popular posts from this blog

inheritance

INHERITANCE:- Inheritance is the process of code re-usability, using this property software or applications can develop in less time or can develop rapidly. Inheritance increases the readability of code and decrease redundancy or repetition of code or reduces size of code. Use of previously developed code in future any number of times is called inheritance. Through inheritance variables and methods of class can inherited. Types of Inheritance:- 1)         Single or Single level inheritance 2)         Multilevel inheritance 3)         Hierarchical inheritance Java does not support to multiple inheritance. Single or single level inheritance:- In a single inheritance a class is inherited by a single class. In a single or single level inheritance a sub class having only one super class directly or indirectly. Syntax: -        class Subclass ex...

Inheritance-4

Example10:- class Student { Student() { System.out.println("This is super class Zero argument constructor"); } Student(String s) { System.out.println("This is super class One argument constructor"); } } class Test extends Student { Test() { super(null); System.out.println("This is sub class Zero argument constructor"); } public static void main(String[]args) { Test t=new Test(); } } Output:- C:\JAVATECH>javac Test.java C:\JAVATECH>java Test This is super class One argument constructor This is sub class Zero argument constructor Example11:- class Student { Student() { System.out.println("This is super class Zero argument constructor"); } Student(String s) { System.out.println("This is super class One argument constructor"); } } class Test extends Student { Test() { super(); super(null); System.out.println("This is su...

Abstraction,Encapsulation And Inheritance

Abstraction  is a one of the great feature of Oops,in this feature hide entire details of product, show only requirement specifications(what product will do). The main purpose behind abstraction is to increase productivity or use of product without knowledge of product implementation. in this case the person don't know how product  was implemented but know how product works or action of product. In java abstraction is achieved by abstract class and interface,here interface provide 100% abstraction and abstract class provide partial abstraction. For example: - ATM machine is example of abstraction.  every technical and non-technical person use facility of ATM without knowing the entire process. they know if they click on withdraw button then they can withdraw money from ATM machine but they don't know when they click on withdraw button the request is send to the server and after go into database and so on. Here ATM machine show only requirement specificat...