Skip to main content

Q) What are the differences between an abstract class and an interface?




A)
Abstract class
interface
It is in general partially abstract.
I.e. some concrete methods are there and some abstract methods are there. How many concrete and abstract methods will be there is programmer can’t decide. Only designer can decide.
It completely abstract.
I.e. it doesn’t have concrete methods.


By default members of abstract class have package level visibility.
I.e. default mode is known as package level visibility.
Members are implicitly public no other accessibility mode allowed.
I.e. the interface variable and methods as default. They are public. If we specify other modes it raises error.
All kind of variables an abstract class can have.
Only final and static variables. All the variables of an interface are implicitly public, static and final.
I.e. the all members of interface contain by default public, static and final. So these combination members are there.
Methods are not implicitly abstract.
Methods are implicitly public and abstract.
Can have a constructor.
It can’t have a constructor for initialization. Sake, constructor is used. But in interface the variables are initialized at the time of declaration.
I.e. they are constants. Because, they are default “final” variables.
Doesn’t support multiple inheritance.
I.e. one class can’t inherit from more than one abstract class.
I.e. abstract class contains concrete methods. That’s why it is implementation class.
->it is error, because B & C contain some implemental methods.
->java doesn’t support the implementation multiple inheritance
->class is implementation.

It supports “declarative multiple inheritance”.
I.e. a class in java can inherit from any no. of interfaces.
I.e. interface should not contain concrete class methods. Only declaratives are there. So, it is declarative class.
->it is not error.
->Java supports, the declarative multiple inheritance.
->Interface declarative.
“extends” keyword is used to create is-a relationship.
I.e. inheritance.
“implements” keyword is used to and also “extends” keyword is used to establish is-a relationship.
->between class & inheritance “implements” is used.
->between interface & interface “extends” keyword is used.
Supports generalization.
Provides standardization.

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.