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 : " );      ...

Q) Retrieving data from database?

A)   ->to retrieve the data from database we need to submit SELECT statement from JDBC application. -> executeQuery() method of statement object is used for this purpose. This method has the fallowing ResultSet executeQuery(String sql) throws SQLException Ex: ResultSet rs = st.executeQuery(“SELECT * FROM ACCOUNT”); ->objectoriented representation of tables formate data is called ResultSet object. Ao the driver created one object i.e. ResultSet object. ->object orientation representation of a table of records returned from db is nothing but “ ResultSet ” object.