0% found this document useful (0 votes)
63 views10 pages

CS 8392 - Oop - Unit - 2 - PPT - 2.2

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 10

CS 8392

OBJECT
ORIENTED
PROGRAMMING

VASANTHA KUMAR V

AP/CSE
INNER CLASSES

In Java, it is also possible to nest classes (a class within a class). The purpose of nested
classes is to group classes that belong together, which makes your code more readable
and maintainable.
EXAMPLE
class OuterClass public class MyMainClass
{
int x = 10; {
public static void main(String[] args)
class InnerClass {
{ OuterClass myOuter = new OuterClass();
int y = 5; OuterClass.InnerClass myInner = myOuter.new InnerClass();
} System.out.println(myInner.y + myOuter.x);
}
}

}
P R I VAT E I N N E R C L A S S
If you don't want outside objects to access the inner class, declare the class as private.

class OuterClass public class MyMainClass


{ {
int x = 10; public static void main(String[] args)
{
private class InnerClass OuterClass myOuter = new OuterClass();
{ OuterClass.InnerClass myInner = myOuter.new InnerClass();
int y = 5; System.out.println(myInner.y + myOuter.x);
} }
} }
S TAT I C I N N E R C L A S S
An inner class can also be static, which means that you can access it without creating an object of
the outer class.

class OuterClass public class MyMainClass {


{ public static void main(String[] args)
int x = 10; {
OuterClass.InnerClass myInner = new OuterClass.InnerClass();
static class InnerClass System.out.println(myInner.y);
{ }
int y = 5; }
}
}
ACCESS OUTER CLASS FROM INNER CLASS
class OuterClass public class MyMainClass
{
int x = 10; {
public static void main(String[] args)
class InnerClass {
{ OuterClass myOuter = new OuterClass();
public int OuterClass.InnerClass myInner = myOuter.new InnerClass();
myInnerMethod()
{ System.out.println(myInner.myInnerMethod());
return x;
} }
}
} }
FINAL KEY WORD - FINAL VARIABLE
Final variable once assigned a value can never be changed.

class Bike9 public static void main(String args[])


{ {
final int speedlimit=90; Bike9 obj=new Bike9();
void run() obj.run();
{ }
speedlimit=400; }
}
FINAL KEY WORD - FINAL METHOD
If you make any method as final, you cannot override it.

class Honda extends Bike


class Bike {
{ void run()
final void run() {
{ System.out.println("running safely with 100kmph");
System.out.println("running"); }
}
} public static void main(String args[])
{
Honda honda= new Honda();
honda.run();
} }
FINAL KEY WORD - FINAL CLASS
If you make any class as final, you cannot extend it.

class Honda extends Bike


final class Bike{} {
void run()
{
System.out.println("running safely with 100kmph");
}

public static void main(String args[])


{
Honda honda= new Honda();
honda.run();
} }
THANK YOU

You might also like