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

Inner classes

Inner Classes:- class inside class or interface called inner class or nested class. Advantage of inner classes is grouping multiple classes and interfaces into a single class. Another big advantage of inner class is that inner class can happily access all the data or variables of outer class directly. Types of Nested classes:- There are two types of nested classes static and non-static nested classes. (A)Non –static inner classes:- 1)     Member inner class 2)     Anonymous inner class 3)     Local inner class (B)Static nested class Example1:-Outer.java class Outer { class Inner { void disp() { System.out.println("Hello This is Inner class Method"); } } public static void main(String[]args) { Inner in=new Inner(); in.disp(); } } Output:- C:\JAVATECH>javac Outer.java Outer.java:12: error: non-static variable this cannot be referenced from a static context Inner in=new Inner(); ...

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...

Object,Data Hiding

Object:- Object is real time entity exist in the real world , the basic purpose of object is to transfer data from one location to another location.object is small memory , allocated inside primary memory(RAM).in java object created inside heap memory,actually in java RAM memory  is divided into some segment according to the type of variables for example. RAM==>Heap area+Stack area+String constant pool+class area  etc. when object created then inside object only non static class variables occupied memory and initialize with default values. non static class variables also known as instance variable reside into object in heap area,static variables occupied memory in class area at the time of class loading from HARD disk to RAM and all local variables occupied memory in stack area when reaching to variables. object  created from the class then what object contains is depend on class structure or class members.             ...