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) 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.  

Q) What is JDBC driver? What is its role in java database connection?

A) ->A translation software written in java according o JDBC specification is nothing but “JDBC driver”. -> JDBC driver implements JDBC API. Use single API. JDBC driver role: They are 4 roles   1)       Establishing connection between JDBC client and database server. 2)       Receiving JDBC method calls made by JDBC client while performing database (CRUD) operations. 3)       Translating java method calls into DBMS understandable calls and forwarding them to database server. 4)       Receiving the results from database server. Translating them into java format and handling over the same to the JDBC client.

Q) What is ODBC?

A) ->open database connectivity is a technology from MS that enables any language program (other than java) to communication with database Management System. ->in java program ODBC is directly not allowed for the fallowing reasons 1) OS dependency 2) Procedural oriented approach 3) Security thread