Senior Level: Public Class Extends Implements
Senior Level: Public Class Extends Implements
* Q1. How could Java classes direct program messages to the system console, but
error messages, say to a file?
A. The class System has a variable out that represents the standard output, and the
variable err that represents the standard error device. By default, they both point at the
system console. This how the standard output could be re-directed:
A. An abstract class may contain code in method bodies, which is not allowed in an
interface. With abstract classes, you have to inherit your class from it and Java does
not allow multiple inheritance. On the other hand, you can implement multiple
interfaces in your class.
public class TestClass1 extends TestClass2 implements TestInterface1,
TestInterface2{
}
* Q3. Why would you use a synchronized block vs. synchronized method?
A. Synchronized blocks place locks for shorter periods than synchronized methods.
A. This keyword indicates that the value of this member variable does not have to be
serialized with the object. When the class will be de-serialized, this variable will be
initialized with a default value of its data type (i.e. zero for integers).
A. You can't force GC, but could request it by calling System.gc(). JVM does not
guarantee that GC will be started immediately.
A. If you assign a superclass object to a variable of a subclass's data type, you need to
do explicit casting. For example:
When you assign a subclass to a variable having a supeclass type, the casting is
performed automatically.
* Q7. What's the difference between the methods sleep() and wait()
A. The code sleep(1000); puts thread aside for exactly one second. The code
wait(1000), causes a wait of up to one second. A thread could stop waiting earlier if it
receives the notify() or notifyAll() call. The method wait() is defined in the class
Object and the method sleep() is defined in the class Thread.
* Q8. Can you write a Java class that could be used both as an applet as well as
an application?
A. Constructors must have the same name as the class and can not return a value.
They are only called once while regular methods could be called many times.
* Q10. Can you call one constructor from another if a class has multiple
constructors
A. This is a way to organize files when a project consists of multiple modules. It also
helps resolve naming conflicts when different packages have classes with the same
names. Packages access level also allows you to protect data from being used by the
non-authorized classes.
A. You need to add a directory or a jar file that contains the package directories to the
CLASSPATH environment variable. Let's say a class Employee belongs to a package
com.xyz.hr; and is located in the file c:\dev\com\xyz\hr\Employee.java. In this case,
you'd need to add c:\dev to the variable CLASSPATH. If this class contains the
method main(), you could test it from a command prompt window as follows:
c:\>java com.xyz.hr.Employee
* Q13. What's the difference between J2SDK 1.5 and J2SDK 5.0?
* Q14. What would you use to compare two String variables - the operator == or
the method equals()?
A. I'd use the method equals() to compare the values of the Strings and the == to
check if two variables point at the same instance of a String object.
* Q15. Does it matter in what order catch statements for FileNotFoundException
and IOExceptipon are written?
* Q17. What can go wrong if you replace && with & in the following code:
A. This method is used to ensure that Swing components are updated through the
event-dispatching thread.
A. Stacks works by last-in-first-out rule (LIFO), while queues use the FIFO rule
** Q22. You can create an abstract class that contains only abstract methods. On
the other hand, you can create an interface that declares the same methods. So
can you use abstract classes instead of interfaces?
A. Sometimes. But your class may be a descendent of another class and in this case
the interface is your only option.
** Q23. What comes to mind when you hear about a young generation in Java?
A. Garbage collection.
** Q24. What comes to mind when someone mentions a shallow copy in Java?
A. Object cloning.
A. hashCode()
Why the methods of the Math class are static?
A. Its to reduce un-necessary object creation. Generally utility class methods should
be kept static. See if the methods of Math class are non static then you will have to
create object of Math class every time and that object is of no use after method is
called once. To reduce un necessary object creation and keep the garbage collector
heap healthy method should be made static if they are utility methods.
Math class methods do not depend on instance variables ... hence, why to create a
object of math class....math.min(2,1) -> 1. Method execution in math class depend on
method args, and not instance variables...Even if u tries to create an object of Math
class ... U will get an exception... Since math class has a private constructor..