CORE JAVA QUESTION ANSWERS 2
31. Can you give few examples of final classes defined in
Java API?
java.lang.String, java.lang.Math are final classes.
32. How is final different from finally and finalize()?
final is a modifier which can be applied to a class or a
method or a variable. final class can't be
inherited,final method can't be overridden and final
variable can't be changed.
finally is an exception handling code section which gets
executed whether an exception is raised or not
by the try block code segment.
finalize() is a method of Object class which will be
executed by the JVM just before garbage
collecting object to give a final chance for resource
releasing activity.
33. Can a class be declared as static?
No a class cannot be defined as static. Only a method, a
variable or a block of code can be declared
as static.
34. When will you define a method as static?
When a method needs to be accessed even before the creation
of the object of the class then we
should declare the method as static.
35. What are the restriction imposed on a static method or a
static block of code?
A static method should not refer to instance variables
without creating an instance and cannot use
"this" operator to refer the instance.
36. I want to print "Hello" even before main() is
executed. How will you acheive that?
Print the statement inside a static block of code. Static
blocks get executed when the class gets loaded
into the memory and even before the creation of an object.
Hence it will be executed before
the main() method. And it will be executed only once.
37. What is the importance of static variable?
static variables are class level variables where all objects
of the class refer to the same variable. If one
object changes the value then the change gets reflected in
all the objects.
38. Can we declare a static variable inside a method?
Static varaibles are class level variables and they can't be
declared inside a method. If declared, the
class will not compile.
39. What is an Abstract Class and what is it's purpose?
A Class which doesn't provide complete implementation is
defined as an abstract class. Abstract
classes enforce abstraction.
40. Can a abstract class be declared final?
Not possible. An abstract class without being inherited is
of no use and hence will result in compile
time error.
41. What is use of a abstract variable?
Variables can't be declared as abstract. only classes and
methods can be declared as abstract.
42. Can you create an object of an abstract class?
Not possible. Abstract classes can't be instantiated.
43. Can a abstract class be defined without any abstract
methods?
Yes it's possible. This is basically to avoid instance
creation of the class.
44. Class C implements Interface I containing method m1 and
m2 declarations. Class C has
provided implementation for method m2. Can i create an
object of Class C?
No not possible. Class C should provide implementation for
all the methods in the Interface I.
Since Class C didn't provide implementation for m1 method,
it has to be declared as abstract.
Abstract classes can't be instantiated.
45. Can a method inside a Interface be declared as final?
No not possible. Doing so will result in compilation error.
public and abstract are the only
applicable modifiers for method declaration in an interface.
46. Can an Interface implement another Interface?
Intefaces doesn't provide implementation hence a interface
cannot implement another interface.
47. Can an Interface extend another Interface?
Yes an Interface can inherit another Interface, for that
matter an Interface can extend more than one
Interface.
48. Can a Class extend more than one Class?
Not possible. A Class can extend only one class but can
implement any number of Interfaces.
49. Why is an Interface be able to extend more than one
Interface but a Class can't extend
more than one Class?
Basically Java doesn't allow multiple inheritance, so a
Class is restricted to extend only one Class. But
an Interface is a pure abstraction model and doesn't have
inheritance hierarchy like classes(do
remember that the base class of all classes is Object). So
an Interface is allowed to extend more than
one Interface.
50. Can an Interface be final?
Not possible. Doing so so will result in compilation error.
51. Can a class be defined inside an Interface?
Yes it's possible.
52. Can an Interface be defined inside a class?
Yes it's possible.
53. What is a Marker Interface?
An Interface which doesn't have any declaration inside but
still enforces a mechanism.
54. Which object oriented Concept is achieved by using
overloading and overriding?
Polymorphism.
55. Why does Java not support operator overloading?
Operator overloading makes the code very difficult to read
and maintain. To maintain code simplicity,
Java doesn't support operator overloading.
56. Can we define private and protected modifiers for
variables in interfaces?
No.
57. What is Externalizable?
Externalizable is an Interface that extends Serializable
Interface. And sends data into Streams in
Compressed Format. It has two methods, writeExternal(ObjectOuput
out) and readExternal(ObjectInput in)
58. What modifiers are allowed for methods in an Interface?
Only public and abstract modifiers are allowed for methods
in interfaces.
59. What is a local, member and a class variable?
Variables declared within a method are "local"
variables.
Variables declared within the class i.e not within any
methods are "member" variables (global
variables).
Variables declared within the class i.e not within any
methods and are defined as "static" are class
variables.
60. What is an abstract method?
An abstract method is a method whose implementation is
deferred to a subclass.
No comments:
Post a Comment