Sunday, December 10, 2017

Interview Ques Answer 3

73) What is Exception Handling?

Exception Handling is a mechanism to handle runtime errors.It is mainly used to handle checked exceptions.


74) What is difference between Checked Exception and Unchecked Exception?

1)Checked Exception

The classes that extend Throwable class except RuntimeException and Error are known as checked exceptions e.g.IOException,SQLException etc. Checked exceptions are checked at compile-time.

2)Unchecked Exception

The classes that extend RuntimeException are known as unchecked exceptions e.g. ArithmeticException,NullPointerException etc. Unchecked exceptions are not checked at compile-time.


75) What is the base class for Error and Exception?

Throwable.

76) Is it necessary that each try block must be followed by a catch block?

It is not necessary that each try block must be followed by a catch block. It should be followed by either a catch block OR a finally block. And whatever exceptions are likely to be thrown should be declared in the throws clause of the method.

77) What is finally block?

  • finally block is a block that is always executed.

78) Can finally block be used without catch?

  • Yes, by try block. finally must be followed by either try or catch.

79) Is there any case when finally will not be executed?

finally block will not be executed if program exits(either by calling System.exit() or by causing a fatal error that causes the process to abort).

80) What is difference between throw and throws?

throw keywordthrows keyword
1)throw is used to explicitly throw an exception.throws is used to declare an exception.
2)checked exceptions can not be propagated with throw only.checked exception can be propagated with throws.
3)throw is followed by an instance.throws is followed by class.
4)throw is used within the method.throws is used with the method signature.
5)You cannot throw multiple exceptionYou can declare multiple exception e.g. public void method()throws IOException,SQLException.


81) Can an exception be rethrown?

Yes.

82) Can subclass overriding method declare an exception if parent class method doesn't throw an exception ?

Yes but only unchecked exception not checked.


83) What is exception propagation ?

Forwarding the exception object to the invoking method is known as exception propagation.



Java: String Handling Interview Questions

There is given a list of string handling interview questions with short and pointed answers. If you know any string handling interview question, kindly post it in the comment section.

84) What is the meaning of immutable in terms of String?

The simple meaning of immutable is unmodifiable or unchangeable. Once string object has been created, its value can't be changed.


85) Why string objects are immutable in java?

Because java uses the concept of string literal. Suppose there are 5 reference variables,all referes to one object "sachin".If one reference variable changes the value of the object, it will be affected to all the reference variables. That is why string objects are immutable in java.


86) How many ways we can create the string object?

There are two ways to create the string object, by string literal and by new keyword.


87) How many objects will be created in the following code?

  1. String s1="Welcome";  
  2. String s2="Welcome";  
  3. String s3="Welcome";  
Only one object.


88) Why java uses the concept of string literal?

To make Java more memory efficient (because no new objects are created if it exists already in string constant pool).


89)How many objects will be created in the following code?

  1. String s = new String("Welcome");  
Two objects, one in string constant pool and other in non-pool(heap).


90) What is the basic difference between string and stringbuffer object?

String is an immutable object. StringBuffer is a mutable object.

91) What is the difference between StringBuffer and StringBuilder ?

StringBuffer is synchronized whereas StringBuilder is not synchronized.

92) How can we create immutable class in java ?

We can create immutable class as the String class by defining final class and


93) What is the purpose of toString() method in java ?

The toString() method returns the string representation of any object. If you print any object, java compiler internally invokes the toString() method on the object. So overriding the toString() method, returns the desired output, it can be the state of an object etc. depends on your implementation.

No comments:

Post a Comment