Skip to main content

Q) What is a “singleton class” in java? How to make a java class a singleton?




A)
->only one instance of a java class is available throughout the application, that class is known as singleton.

Ex:
//singleton.java
class productDAO
{
private static productDAO dao=new productDAO();------2
privateproductDAO()---------------------------------1
       {
              System.out.println("productDAO class object is created");
       }
public static productDAO getproductDAO()-------------3
       {
              return dao;
       }
}
class singleton {

       public static void main(String[] args) {
              productDAO b1=productDAO.getproductDAO();
              System.out.println(01);
              productDAO b2= productDAO.getproductDAO();
              System.out.println(02);

       }

}

Output:
productDAO class object is created
1
2

Note:
In the above example, productDAO is made singleton. We did the fallowing to make a class singleton.
1)      private accessibility made is given to the contributor of the class.
2)      Created object of the class with in the class itself, its reference is made static.
3)      Through a user defined static method, the object reference is given to the callers.

Additional information:
->whenever constructor declared private that class object can create inside that class only. Any no. of times we can create inside that class, but not in outside of the class.
->so, when the constructor is declared private we prevent the outside object creation of that class.
->once the constructor is declared as private then that class object can’t create outside of that class.
->singleton class should not contain more than one object. I.e. in entire project only one object is created, but anywhere this object reference is used.

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