1. What is transient variable?
Ans:
Transient variable can't be serialize. For example if a variable is declared as
transient in a Serializable class and the class is written to an ObjectStream,
the value of the variable can't be written to the stream instead when the class
is retrieved from the ObjectStream the value of the variable becomes null.
2. Name the container which uses Border
Layout as their default layout?
Ans: Containers which uses Border Layout as their default are: window, Frame and
Dialog classes.
3. What do you understand by
Synchronization?
Ans: Synchronization is a process of controlling the access of shared resources by
the multiple threads in such a manner that only one thread can access one
resource at a time. In non synchronized multithreaded application, it is
possible for one thread to modify a shared object while another thread is in
the process of using or updating the object's value. Synchronization prevents
such type of data corruption.
E.g. Synchronizing a function:
public synchronized void Method1 () {
//
Appropriate method-related code.
}
E.g. Synchronizing a block of code inside a
function:
public myFunction (){
synchronized (this) {
//
Synchronized code here.
}
}
4. What is Collection API?
Ans: The Collection API is a set of classes and
interfaces that support operation on collections of objects. These classes and
interfaces are more flexible, more powerful, and more regular than the vectors,
arrays, and hashtables if effectively replaces.
Example of classes: HashSet, HashMap, ArrayList,
LinkedList, TreeSet and TreeMap.
Example of interfaces: Collection, Set, List and
Map.
5.What is similarities/difference between
an Abstract class and Interface?
Ans: Differences are as
follows:
• Interfaces
provide a form of multiple inheritance. A class can extend only one other
class.
• Interfaces
are limited to public methods and constants with no implementation. Abstract classes
can have a partial implementation, protected parts, static methods, etc.
• A
Class may implement several interfaces. But in case of abstract class, a class
may extend only one abstract class.
• Interfaces
are slow as it requires extra indirection to to find corresponding method in in
the actual class. Abstract classes are fast.
Similarities:
• Neither
Abstract classes nor Interface can be instantiated.
6. How to define an Abstract class?
Ans: A class containing abstract method is called
Abstract class. An Abstract class can't be instantiated.
Example of Abstract class:
abstract class testAbstractClass {
protected
String myString;
public
String getMyString() {
return
myString;
}
public
abstract string anyAbstractFunction();
}
7. How to define an Interface?
Ans: In Java Interface defines the methods but
does not implement them. Interface can include constants. A class that
implements the interfaces is bound to implement all the methods defined in
Interface.
Emaple of Interface:
public interface sampleInterface {
public
void functionOne();
public
long CONSTANT_ONE = 1000;
}
8. Explain the user defined Exceptions?
Ans: User defined Exceptions are the separate
Exception classes defined by the user for specific purposed. An user defined
can created by simply sub-classing it to the Exception class. This allows
custom exceptions to be generated (using throw) and caught in the same way as
normal exceptions.
Example:
class myCustomException extends Exception {
// The
class simply has to exist to be an exception
}
9. Explain the new Features of JDBC 2.0
Core API?
Ans: The JDBC 2.0 API includes the complete JDBC
API, which includes both core and Optional Package API, and provides
inductrial-strength database computing capabilities.
New Features in JDBC 2.0 Core API:
• Scrollable
result sets- using new methods in the ResultSet interface allows
programmatically move the to particular row or to a position relative to its
current position
• JDBC
2.0 Core API provides the Batch Updates functionality to the java applications.
• Java
applications can now use the ResultSet.updateXXX methods.
• New
data types - interfaces mapping the SQL3 data types
• Custom mapping of user-defined types (UTDs)
• Miscellaneous
features, including performance hints, the use of character streams, full
precision for java.math.BigDecimal values, additional security, and support for
time zones in date, time, and timestamp values.
10. Explain garbage collection?
Ans: Garbage collection is one of the most
important features of Java. Garbage collection is also called automatic memory
management as JVM automatically removes the unused variables/objects (value is
null) from the memory. User program can’t directly free the object from memory;
instead it is the job of the garbage collector to automatically free the
objects that are no longer referenced by a program. Every class inherits
finalize() method from java.lang.Object, the finalize() method is called by
garbage collector when it determines no more references to the object exists.
In Java, it is good idea to explicitly assign null into a variable when no more
in use. I Java on calling System.gc() and Runtime.gc(), JVM tries to recycle
the unused objects, but there is no guarantee when all the objects will garbage
collected.
11. How you can force the garbage
collection?
Ans: Garbage collection automatic process and
can't be forced.
12. What is OOPS?
Answer: OOP is the common abbreviation for
Object-Oriented Programming.
13. Describe the principles of OOPS.
Ans: There are three main principals of oops
which are called Polymorphism, Inheritance and Encapsulation.
14. Explain the Encapsulation principle.
Ans: Encapsulation is a process of binding or
wrapping the data and the codes that operates on the data into a single entity.
This keeps the data safe from outside interface and misuse. One way to think
about encapsulation is as a protective wrapper that prevents code and data from
being arbitrarily accessed by other code defined outside the wrapper.
15. Explain the Inheritance principle.
Ans: Inheritance is the process by which one
object acquires the properties of another object.
16. Explain the Polymorphism principle.
Answer: The meaning of Polymorphism is something
like one name many forms. Polymorphism enables one entity to be used as as
general category for different types of actions. The specific action is determined
by the exact nature of the situation. The concept of polymorphism can be
explained as "one interface, multiple methods".
17. Explain the different forms of
Polymorphism.
Ans: From a practical programming viewpoint,
polymorphism exists in three distinct forms in Java:
• Method
overloading
• Method
overriding through inheritance
• Method
overriding through the Java interface
18. What are Access Specifiers available
in Java?
Ans: Access Specifiers are keywords that determine
the type of access to the member of a class. These are:
• Public
• Protected
• Private
• Defaults
19. Describe the wrapper classes in Java.
Ans: Wrapper class is wrapper around a primitive
data type. An instance of a wrapper class contains, or wraps, a primitive value
of the corresponding type.
Following table lists the primitive types and the
corresponding wrapper classes:
Primitive Wrapper
boolean java.lang.Boolean
byte java.lang.Byte
char java.lang.Character
double java.lang.Double
float java.lang.Float
int java.lang.Integer
long java.lang.Long
short java.lang.Short
void java.lang.Void
20. Read the following program:
public class test {
public static void main(String [] args) {
int x = 3;
int y = 1;
if (x = y)
System.out.println("Not equal");
else
System.out.println("Equal");
}
}
21. What is the result?
A. The
output is “Equal”
B. The
output in “Not Equal”
C. An error
at " if (x = y)" causes compilation to fall.
D. The
program executes but no output is show on console.
Ans: C
22. what is the class variables?
Ans: When we create a number of objects of the
same class, then each object will share a common copy of variables. That means
that there is only one copy per class, no matter how many objects are created
from it. Class variables or static variables are declared with the static
keyword in a class, but mind it that it should be declared outside outside a
class. These variables are stored in static memory. Class variables are mostly
used for constants, variable that never change its initial value. Static
variables are always called by the class name. This variable is created when
the program starts i.e. it is created before the instance is created of class
by using new operator and gets destroyed when the programs stops. The scope of
the class variable is same a instance variable. The class variable can be
defined anywhere at class level with the keyword static. It initial value is
same as instance variable. When the class variable is defined as int then it's
initial value is by default zero, when declared boolean its default value is
false and null for object references. Class variables are associated with the
class, rather than with any object.
23. What is the difference between the
instanceof and getclass, these two are same or not ?
Ans: instanceof is a operator, not a function
while getClass is a method of java.lang.Object class. Consider a condition
where we use
if(o.getClass().getName().equals("java.lang.Math")){
}
This method only checks if the classname we have
passed is equal to java.lang.Math. The class java.lang.Math is loaded by the
bootstrap ClassLoader. This class is an abstract class. This class loader is
responsible for loading classes. Every Class object contains a reference to the
ClassLoader that defines. getClass () method returns the runtime class of an
object. It fetches the java instance of the given fully qualified type name.
The code we have written is not necessary, because we should not compare
getClass.getName (). The reason behind it is that if the two different class
loaders load the same class but for the JVM, it will consider both classes as
different classes so, we can't compare their names. It can only gives the
implementing class but can't compare a interface, but instanceof operator can.
The instanceof operator compares an object to a
specified type. We can use it to test if an object is an instance of a class,
an instance of a subclass, or an instance of a class that implements a
particular interface. We should try to use instanceof operator in place of
getClass() method. Remember instanceof operator and getClass are not same. Try
this example; it will help you to better understand the difference between the
two.
Interface one{
}
Class Two implements one {
}
Class Three implements one {
}
public class Test {
public static void main(String args[]) {
one test1 = new Two();
one test2 = new Three();
System.out.println(test1 instanceof one); //true
System.out.println(test2 instanceof one); //true
System.out.println(Test.getClass().equals(test2.getClass()));
//false
}
}
24. Is Iterator a Class or Interface? What
is its use?
Ans: Iterator is an interface which is used to
step through the elements of a Collection.
Question : When you declare a method as abstract
method ?
Answer : When i want child class to implement the
behavior of the method.
Question : Can I call a abstract method from a non
abstract method ?
Answer : Yes, We can call a abstract method from a
Non abstract method in a Java abstract class
Question : What is the difference between an
Abstract class and Interface in Java ? or can you explain when you use Abstract
classes ?
Answer : Abstract classes let you define some
behaviors; they force your subclasses to provide others. These abstract classes
will provide the basic funcationality of your applicatoin, child class which
inherited this class will provide the funtionality of the abstract methods in
abstract class. When base class calls this method, Java calls the method
defined by the child class.
• An
Interface can only declare constants and instance methods, but cannot implement
default behavior.
• Interfaces
provide a form of multiple inheritance. A class can extend only one other
class.
• Interfaces
are limited to public methods and constants with no implementation. Abstract
classes can have a partial implementation, protected parts, static methods,
etc.
• A
Class may implement several interfaces. But in case of abstract class, a class
may extend only one abstract class.
• Interfaces
are slow as it requires extra indirection to find corresponding method in the
actual class. Abstract classes are fast