0% found this document useful (0 votes)
7 views12 pages

10.final Keyword

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views12 pages

10.final Keyword

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Final Keyword

1 © 2012 WIPRO LTD | WWW.WIPRO.COM


Agenda

final keyword

2 © 2012 WIPRO LTD | WWW.WIPRO.COM


final Keyword

3 © 2012 WIPRO LTD | WWW.WIPRO.COM


Keyword final

• The final keyword used in context of behavioral restriction on:


– variables
– methods
– classes

• Using final on variables to make them behave as constants which we


have seen in earlier module.
• When a variable is made final – it can be initialized only once either by
– Declaration and initialization
final int x=10;
– Using constructor
• System allows you to set the value only once; after which it can’t be
changed.

4 © 2012 WIPRO LTD | WWW.WIPRO.COM


Quiz

What will be the output for the below code ?

public class Sample { public static void main() {


final double pi; Sample ob = new
Sample(22/7)
public Sample()
{ System.out.println(ob.pi)
pi = 3.14; ;
} }
public Sample(double pi)
{
this.pi = pi;
}

5 © 2012 WIPRO LTD | WWW.WIPRO.COM


The Role of the Keyword final in Inheritance

• The final keyword has two important uses in the context of a class
hierarchy. These uses are highlighted as follows:
• Using final to Prevent Overriding
– While method overriding is one of the most powerful feature of object
oriented design, there may be times when you will want to prevent
certain critical methods in a superclass from being overridden by its
subclasses.
– Rather, you would want the subclasses to use the methods as they
are defined in the superclass.
– This can be achieved by declaring such critical methods as final.

6 © 2012 WIPRO LTD | WWW.WIPRO.COM


Keyword final with methods- Example
/* Example for final methods*/
class GBase {
public final void display(String s) Output:
{
Compile Time Error : Cannot
System.out.println(s); override the final method from
} } GBase
class Sample extends GBase{
public void display(String s)
{
System.out.println(s);
}
public static void main(String args[]) {
Sample ob = new Sample();
ob.display(“TRY ME”);
} }
7 © 2012 WIPRO LTD | WWW.WIPRO.COM
The Role of the Keyword final in Inheritance (Contd.).

• Using final to Prevent Inheritance


– Sometimes you will want to prevent a class from being inherited.
– This can be achieved by preceding the class declaration with
final.
– Declaring a class as final implicitly declares all of its methods as
final too.
– It is illegal to declare a class as both abstract and final since an
abstract class is incomplete by itself and relies upon its subclasses
to provide concrete and complete implementations.

8 © 2012 WIPRO LTD | WWW.WIPRO.COM


Keyword final with methods- Example
/* Example for final methods*/
final class GBase {
public void display(String s) Output:
{
Compile Time Error : The type Sample
System.out.println(s); cannot subclass the final class
} } GBase
class Sample extends GBase{
public void display(String s)
{
System.out.println(s);
}
public static void main(String args[]) {
Sample ob = new Sample();
ob.display(“TRY ME”);
} }
9 © 2012 WIPRO LTD | WWW.WIPRO.COM
Quiz

What will be the output for the below code ?

class abstract GBase{


public final void testBase(){
System.out.println(“Hello World”);
}
}

10 © 2012 WIPRO LTD | WWW.WIPRO.COM


11 © 2012 WIPRO LTD | WWW.WIPRO.COM
Thank You

12 © 2012 WIPRO LTD | WWW.WIPRO.COM

You might also like