Sunday, August 2, 2009

Java Basic interview Questions

What is the default value of the local variables?

The local variables are not initialized to any default value, neither primitives nor object references. If you try to use these variables without initializing them explicitly, the java compiler will not compile the code. It will complain abt the local varaible not being initilized..

How many objects are created in the following piece of code?
MyClass c1, c2, c3;
c1 = new MyClass ();
c3 = new MyClass ();

Only 2 objects are created, c1 and c3. The reference c2 is only declared and not initialized.

Can a public class MyClass be defined in a source file named YourClass.java?

No the source file name, if it contains a public class, must be the same as the public class name itself with a .java extension.

Can main method be declared final?

Yes, the main method can be declared final, in addition to being public static.

What will be the output of the following statement?
System.out.println ("1" + 3);

It will print 13.

What will be the default values of all the elements of an array defined as an instance variable?

If the array is an array of primitive types, then all the elements of the array will be initialized to the default value corresponding to that primitive type. e.g. All the elements of an array of int will be initialized to 0, while that of boolean type will be initialized to false. Whereas if the array is an array of references (of any type), all the elements will be initialized to null.

What if the main method is declared as private?

The program compiles properly but at runtime it will give “Main method not public.” message.

What is meant by pass by reference and pass by value in Java?

Pass by reference means, passing the address itself rather than passing the value. Pass by value means passing a copy of the value.

If you’re overriding the method equals() of an object, which other method you might also consider?

hashCode()

What is Byte Code?  Or What gives java it’s “write once and run anywhere” nature?

All Java programs are compiled into class files that contain bytecodes. These byte codes can be run in any platform and hence java is said to be platform independent.

Expain the reason for each keyword of public static void main(String args[])?

public- main(..) is the first method called by java environment when a program is executed so it has to accessible from java environment. Hence the access specifier has to be public.

static: Java environment should be able to call this method without creating an instance of the class , so this method must be declared as static.

=style4>void: main does not return anything so the return type must be void

The argument String indicates the argument type which is given at the command line and arg is an array for string given during command line.

What are the differences between == and .equals() ? Or

what is difference between == and equals  Or

Difference between == and equals method Or  What would you use to compare two String variables - the operator == or the method equals()? Or

How is it possible for two String objects with identical values not to be equal under the == operator?

The == operator compares two objects to determine if they are the same object in memory i.e. present in the same memory location. It is possible for two String objects to have the same value, but located in different areas of memory.

== compares references while .equals compares contents. The method public boolean equals(Object obj) is provided by the Object class and can be overridden. The default implementation returns true only if the object is compared with itself, which is equivalent to the equality operator == being used to compare aliases to the object. String, BitSet, Date, and File override the equals() method. For two String objects, value equality means that they contain the same character sequence. For the Wrapper classes, value equality means that the primitive values are equal.

 public class EqualsTest {
 
                    public static void main(String[] args) {
 
                                         String s1 = “abc”;
                                         String s2 = s1;
                                         String s5 = “abc”;
                                         String s3 = new String(”abc”);
                                         String s4 = new String(”abc”);
                                         System.out.println(”== comparison : ” + (s1 == s5));
                                         System.out.println(”== comparison : ” + (s1 == s2));
                                         System.out.println(”Using equals method : ” + s1.equals(s2));
                                         System.out.println(”== comparison : ” + s3 == s4);
                                         System.out.println(”Using equals method : ” + s3.equals(s4));
                    }
}

Output

== comparison : true
== comparison : true
Using equals method : true
false
Using equals method : true

1

2

3

4

5

6

7

8

9

10

11

 

No comments:

Post a Comment