Skip to main content

Q) Explain about nested classes?




A)
->defining a class with in another class is known as nesting of the class.
Ex:


class A
{
       class B
       {
             
       }//nested class, and inner class.because it is not static class.
}//enclosing class or outer class.

->static class is declared in inside an another class then it does not become an inner class.

Note:
non-static nested class is known as “inner class”. In the above example class B is nested but not an inner class.


Ex:


class D
{
       static c
       {
             
       }//nested class, but not an inner class , because of static class.
}//outer class.

->we have three different kinds of inner classes.
1) Member inner class
2) Method-local inner class
3) Anonymous inner class- i.e. nameless

class A
{
       static class B
       {
             
       }
       class C
       {
             
       }
}
class nestedclass
{
       public static void main(String args[])
       {
          A a = new A();//outer class instance created.
          A.C c = new C();//inner class instance created.
          A.B b = new A.B();//nested class instance.
       }
}

->without creating outer class instance we can’t created inner class instance. But without creating outer class instance we can created static nested class instance.

Note:
outer class members are available in the nested classes.
But vis versa is not true, because of scope problem. i.e. nested class variables are not available to outer class.
->if a class is defined in a method it is known as method local inner class.

Ex:
void x()
{
       class A
       {
             
       }//method-local inner class.
}

->nameless inner class is known as anonymous inner class. Specialty of anonymous inner class is, class definition and object creation happens at the same place.
->most frequent usage of anonymous inner class is while resisting a listener in event handling
in GUI programming.

Ex:

addWindowListener(new windowAdopter()
{
       public voidwindowClosing(WindowEvent e)
       {
             
       }
}); method call is over.

->in the above example, an anonymous inner class which is a child of windowAdopter class is defined. At the same time the object of that anonymous inner class is created and supplied as argument to addWindowListner() method.
->some particular portion of data separately encapsulate sake we create nested class, for separating the some behavior encapsulate in separate nested class. Some portion of class behavior separately encapsulate nested inner class is created.

Comments

Popular posts from this blog

Q) Explain repeated deletion of records.

A) //RepeatedDeletion.java import java.util.Scanner; import java.sql.*; class RepeatedDeletion {        public static void main(String[] args) {               Connection con= DriverManager. getConnection ( "jdbc:odbc:prince" , "scott" , "tiger" );               PreparedStatement ps=con.PreparedStatement( "DELETE FROM ACCOUNT WHERE ACCNO=?" );               Scanner s= new Scanner(System. in );               while ( true )               {                      System. out .println( "Enter accno : " );      ...

Introduction

1) What is not JDBC? 2) What is the purpose of JDBC? 3) What is ODBC? 4) What is JDBC? 5) What is JDBC architecture? 6) What is JDBC client? What are its responsibilities? 7) What is JDBC API?  8) What is driver manager? 9) What is JDBC driver? What is its role in java database connection? 10) What is database server?