JAVA DOT NET
JAVA INTERVIEW QUESTION ANSWER
1. What is the difference between procedural and object-oriented programs?-
JAVA INTERVIEW QUESTION ANSWER
1. What is the difference between procedural and object-oriented programs?-
a) In procedural
program, programming logic follows certain procedures and the instructions are
executed one after another. In
OOP program, unit of program is object, which is nothing but combination of
data and code.
b) In procedural
program, data is exposed to the whole program whereas in OOPs program, it is
accessible with in the object and which in turn assures the security of the
code.
2. What
are Encapsulation, Inheritance and Polymorphism?-
Encapsulation is the
mechanism that binds together code and data it manipulates and keeps both safe
from outside interference and misuse.
Inheritance is the
process by which one object acquires the properties of another object.
Polymorphism is the
feature that allows one interface to be used for general class actions.
3. What
is the difference between Assignment and Initialization?-
Assignment can be done
as many times as desired whereas initialization can be done only once.
4. What
is OOPs?-
Object oriented
programming organizes a program around its data, i. e. , objects and a set of
well defined interfaces to that data. An object-oriented program can be
characterized as data controlling access to code.
5. What
are Class, Constructor and Primitive data types?-
Class is a template for multiple objects with similar
features and it is a blue print for objects.
It defines a type of
object according to the data the object can hold and the operations the object
can perform.
Constructor is a special kind of method that determines how
an object is initialized when created.
Primitive data types
are 8 types and they are: byte, short, int, long, float, double, boolean, char.
6. What
is an Object and how do you allocate memory to it?-
Object is an instance
of a class and it is a software unit that combines a structured set of data
with a set of operations for inspecting and manipulating that data.
When an object is
created using new operator, memory is allocated to it.
7. What
is the difference between constructor and method?-
Constructor will be
automatically invoked when an object is created
whereas method has to
be called explicitly.
8. What
is casting?-
Casting is used to
convert the value of one type to another.
9. How
many ways can an argument be passed to a subroutine and explain them?-
An argument can be passed in two ways:
They are passing by
value and passing by reference.
Passing by value: This
method copies the value of an argument into the formal parameter of the
subroutine. Passing by reference: In this method, a reference to an argument
(not the value of the argument) is passed to the parameter.
10. What
is the difference between an argument and a parameter?-
While defining method,
variables passed in the method are called parameters. While using those
methods, values passed to those variables are called arguments.
11. What
are different types of access modifiers?-
public: Any thing declared as public can be accessed from
anywhere.
private: Any thing
declared as private can’t be seen outside of its class.
protected: Any thing
declared as protected can be accessed by classes in the same package and
subclasses in the other packages.
default modifier : Can be accessed only to classes in the
same package.
12. What
is final, finalize() and finally?-
final : final keyword
can be used for class, method and variables.
A final class cannot be subclassed and
it prevents other programmers from subclassing a secure class to invoke
insecure methods.
A final method
can’t be overridden.
A final variable can’t change from its
initialized value.
finalize() : finalize()
method is used just before an object
is destroyed and can be called just prior to garbage collection.
finally : finally, a
key word used in exception handling, creates a block of code that will be
executed after a try/catch block has completed and before the code following
the try/catch block. The finally block will execute whether or not an exception
is thrown. For example, if a method opens a file upon exit, then you will not
want the code that closes the file to be bypassed by the exception-handling
mechanism. This finally keyword is designed to address this contingency.
13. What
is UNICODE?-
Unicode is used for
internal representation of characters and strings and it uses 16 bits to
represent each other.
14. What
is Garbage Collection and how to call it explicitly?-
When an object is no
longer referred to by any variable, java automatically reclaims memory used by
that object. This is known as garbage collection.
System. gc() method
may be used to call it explicitly.
15. What
are Transient and Volatile Modifiers?-
Transient: The
transient modifier applies to variables only and it is not stored as part of
its object’s Persistent state. Transient variables are not serialized.
Volatile: Volatile modifier applies to variables only and it
tells the compiler that the variable modified by volatile can be changed
unexpectedly by other parts of the program.
16. What
is difference between overloading and overriding?-
a) In overloading,
there is a relationship between methods available in the same class whereas in
overriding, there is relationship between a superclass method and subclass
method.
b) Overloading does
not block inheritance from the superclass whereas overriding blocks inheritance
from the superclass.
c) In overloading,
separate methods share the same name whereas in overriding, subclass method
replaces the superclass.
d) Overloading must
have different method signatures whereas overriding must have same signature.
17. What
is the difference between this() and super()?-
this() can be used to invoke a constructor of the same class
whereas super() can be used to invoke a super class
constructor.
18. What
modifiers may be used with top-level class?-
public, abstract and
final can be used for top-level class.
19. What
are inner class and anonymous class?-
Inner class : classes
defined in other classes, including those defined in methods are called inner
classes. An inner class can have any accessibility including private.
Anonymous class :
Anonymous class is a class defined inside a method without a name and is
instantiated and declared in the same place and cannot have explicit
constructors.
20. What
is a package?-
A package is a collection of classes and interfaces that
provides a high-level layer of access protection and name space management.
21. What
is a reflection package?-
java. lang. reflect
package has the ability to analyze itself in runtime.
22. What
is interface and its use?-
Interface is similar
to a class which may contain method’s signature only but not bodies and it is a
formal set of method and constant declarations that must be defined by the
class that implements it.
Interfaces are useful for:
a)Declaring methods
that one or more classes are expected to implement
b)Capturing
similarities between unrelated classes without forcing a class relationship.
c)Determining an
object’s programming interface without revealing the actual body of the class.
23. What
is an abstract class?-
An abstract class is a class designed with implementation
gaps for subclasses to fill in and is deliberately incomplete.
24. What
is the difference between Integer and int?-
a) Integer is a class defined in the java. lang package,
whereas int is a primitive data type defined in the Java language itself. Java
does not automatically convert from one to the other.
b) Integer can be used
as an argument for a method that requires an object, whereas int can be used
for calculations.
25. What
is a cloneable interface and how many methods does it contain?-
It is not having any method because it is a TAGGED or MARKER
interface.
26. What
is the difference between abstract class and interface?-
a) All the methods declared inside an interface are abstract
whereas abstract class must have at least one abstract method and others may be
concrete or abstract.
b) In abstract class,
key word abstract must be used for the methods whereas interface we need not
use that keyword for the methods.
c) Abstract class must
have subclasses whereas interface can’t have subclasses.
27. What
is the difference between String and String Buffer?-
a) String objects are
constants and immutable whereas StringBuffer objects are not.
b) String class
supports constant strings whereas StringBuffer class supports growable and
modifiable strings.
28. What
is the difference between exception and error?-
The exception class defines mild error conditions that your
program encounters. Exceptions can occur when trying to open the file, which
does not exist, the network connection is disrupted, operands being manipulated
are out of prescribed ranges, the class file you are interested in loading is
missing.
The error class
defines serious error conditions that you should not attempt to recover from.
In most cases it is advisable to let the program terminate when such an error
is encountered.
29. What
is multithreading and what are the methods for inter-thread communication and
what is the class in which these methods are defined?-
Multithreading is the
mechanism in which more than one thread run independent of each other within
the process.
wait (), notify () and notifyAll() methods can be used for
inter-thread communication and these methods are in Object class.
wait() : When a thread executes a call to wait() method, it
surrenders the object lock and enters into a waiting state.
notify() or
notifyAll() : To remove a thread from the waiting state, some other thread must
make a call to notify() or notifyAll() method on the same object.
30. What
is synchronization?-
Synchronization is the
mechanism that ensures that only one thread is accessed the resources at a
time.
31. Are
there any global variables in Java, which can be accessed by other part of your
program?- No, it is not the main method in which you
define variables. Global variables is not possible because concept of
encapsulation is eliminated here.
32. What
are wrapper classes?-
Wrapper classes are
classes that allow primitive types to be accessed as objects.
33. What
are Vector, Hashtable, LinkedList and Enumeration?-
Vector : The Vector
class provides the capability to implement a growable array of objects.
Hashtable : The Hashtable class implements a Hashtable data
structure. A Hashtable indexes and stores objects in a dictionary using hash
codes as the object’s keys. Hash codes are integer values that identify
objects. LinkedList: Removing or inserting elements in the middle of an array
can be done using LinkedList. A LinkedList stores each object in a separate
link whereas an array stores object references in consecutive locations.
Enumeration: An object
that implements the Enumeration interface generates a series of elements, one
at a time. It has two methods, namely hasMoreElements() and nextElement().
HasMoreElemnts() tests if this enumeration has more elements and nextElement method
returns successive elements of the series.
34. What
is the difference between set and list?-
Set stores elements in an unordered way but does not contain
duplicate elements, whereas list stores elements in an ordered way but may
contain duplicate elements.
35. What
is a stream and what are the types of Streams and classes of the Streams?-
A Stream is an
abstraction that either produces or consumes information.
There are two types of Streams and they are:
a.
Byte
Streams: Provide a convenient means for handling input and output of bytes.
b.
Character
Streams: Provide a convenient means for handling input & output of
characters.
Byte Streams classes: Are defined by using two
abstract classes, namely InputStream and OutputStream. Character Streams
classes: Are defined by using two abstract classes, namely Reader and Writer.
36. What
is the difference between Reader/Writer and InputStream/Output Stream?-
The Reader/Writer class is character-oriented and the
InputStream/OutputStream class is byte-oriented.
37. What
is an I/O filter?-
An I/O filter is an
object that reads from one stream and writes to another, usually altering the
data in some way as it is passed from one stream to another.
38. What
is serialization and deserialization?-
Serialization is the process of writing the state of an
object to a byte stream. Deserialization is the process of restoring these
objects.
39. What
is JDBC?-
JDBC is a set of Java
API for executing SQL statements. This API consists of a set of classes and
interfaces to enable programs to write pure Java Database applications.
40. What
is the difference between JDBC and ODBC?-
a) OBDC is for
Microsoft and JDBC is for Java applications.
b) ODBC can’t be
directly used with Java because it uses a C interface.
c) ODBC makes use of
pointers which have been removed totally from Java.
d) ODBC mixes simple
and advanced features together and has complex options for simple queries. But
JDBC is designed to keep things simple while allowing advanced capabilities
when required.
e) ODBC requires
manual installation of the ODBC driver manager and driver on all client
machines. JDBC drivers are written in Java and JDBC code is automatically
installable, secure, and portable on all platforms. f) JDBC API is a natural
Java interface and is built on ODBC. JDBC retains some of the basic features of
ODBC.
41. What
are the steps involved for making a connection with a database or how do you
connect to a database?
a) Loading the driver : To load the driver, Class. forName()
method is used. Class. forName(”sun. jdbc. odbc. JdbcOdbcDriver”); When the
driver is loaded, it registers itself with the java. sql. DriverManager class
as an available database driver.
b) Making a connection
with database: To open a connection to a given database, DriverManager.
getConnection() method is used. Connection con = DriverManager. getConnection
(”jdbc:odbc:somedb”, “user”, “password”);
c) Executing SQL statements
: To execute a SQL query, java. sql. statements class is used.
createStatement() method of Connection to obtain a new Statement object.
Statement stmt = con. createStatement(); A query that returns data can be
executed using the executeQuery() method of Statement. This method executes the
statement and returns a java. sql. ResultSet that encapsulates the retrieved
data: ResultSet rs = stmt. executeQuery(”SELECT * FROM some table”);
d) Process the results
: ResultSet returns one row at a time. Next() method of ResultSet object can be
called to move to the next row. The getString() and getObject() methods are
used for retrieving column values: while(rs. next()) { String event = rs.
getString(”event”); Object count = (Integer) rs. getObject(”count”);
thanx
ReplyDelete