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
Post a Comment