OOP EXAM QUESTIONS AND
VERIFIED ANSWERS
What is the difference between procedural and object-oriented programs? -
ANSWER a) In procedural program, programming logic follows certain
procedures and the instructions are executed one after another. In OOP
program, the unit of program is an object, which is nothing but combination of
data and code. b) In procedural program, data is exposed to the whole program
whereas in OOPs program, it is accessible within the object and which in-turn
assures the security of the code.
What are Encapsulation, Inheritance and Polymorphism? - ANSWER
Encapsulation is the packing of data and functions into a single component and
keeps both safe from outside interference and misuse. Inheritance is the process
by which one object acquires the properties of another object. Polymorphism is
the ability of objects taking on many forms and is a feature that allows one
interface to be used for general class actions.
What is the difference between Assignment and Initialization? - ANSWER
Assignment can be done as many times as desired whereas initialization can be
done only once.
What is OOPs? - ANSWER Object oriented programming organizes a
program around its data, i. e. , objects and a set of well defined interfaces to that
data. An object-oriented program can be characterized as data controlling access
to code.
What are Class, Constructor and Primitive data types? - ANSWER Class is a
template for multiple objects with similar features and it is a blue print for
objects. It defines a type of object according to the data the object can hold and
the operations the object can perform. Constructor is a special kind of method
that determines how an object is initialized when created. Primitive data types
are 8 types and they are: byte, short, int, long, float, double, boolean, char.
,What is an Object and how do you allocate memory to it? - ANSWER Object
is an instance of a class and it is a software unit that combines a structured set of
data with a set of operations for inspecting and manipulating that data. When an
object is created using new operator, memory is allocated to it.
What is the difference between constructor and method? - ANSWER
Constructor will be automatically invoked when an object is created whereas
method has to be called explicitly.
What are methods and how are they defined? - ANSWER Methods are
functions that operate on instances of classes in which they are defined. Objects
can communicate with each other using methods and can call methods in other
classes. Method definition has four parts. They are name of the method, type of
object or primitive type the method returns, a list of parameters and the body of
the method. A method's signature is a combination of the first three parts
mentioned above.
What is casting? - ANSWER Casting is used to convert the value of one type
to another.
How many ways can an argument be passed to a subroutine and explain them? -
ANSWER An argument can be passed in two ways. They are passing by value
and passing by reference. Passing by value: This method copies the value of an
argument into the formal parameter of the subroutine. Passing by reference: In
this method, a reference to an argument (not the value of the argument) is
passed to the parameter.
What is the difference between an argument and a parameter? - ANSWER
While defining method, variables passed in the method are called parameters.
While using those methods, values passed to those variables are called
arguments.
What are different types of access modifiers? - ANSWER public: Any thing
declared as public can be accessed from anywhere. private: Any thing declared
as private can't be seen outside of its class. protected: Any thing declared as
protected can be accessed by classes in the same package and subclasses in the
other packages. default modifier : Can be accessed only to classes in the same
package.
, What is final, finalize() and finally? - ANSWER final : final keyword can be
used for class, method and variables. A final class cannot be subclassed and it
prevents other programmers from subclassing a secure class to invoke insecure
methods. A final method can't be overridden. A final variable can't change from
its initialized value. finalize() : finalize() method is used just before an object is
destroyed and can be called just prior to garbage collection. finally : finally, a
key word used in exception handling, creates a block of code that will be
executed after a try/catch block has completed and before the code following
the try/catch block. The finally block will execute whether or not an exception
is thrown. For example, if a method opens a file upon exit, then you will not
want the code that closes the file to be bypassed by the exception-handling
mechanism. This finally keyword is designed to address this contingency.
What is UNICODE? - ANSWER Unicode is used for internal representation of
characters and strings and it uses 16 bits to represent each other.
What is finalize() method? - ANSWER finalize () method is used just before
an object is destroyed and can be called just prior to garbage collection.
What are Transient and Volatile Modifiers? - ANSWER - Transient: The
transient modifier applies to variables only and it is not stored as part of its
object's Persistent state. This means that when you serialize an object, it will
return its default value on de-serialization. Transient variables are not serialized.
Short Answer: variable cannot be serialized.
Volatile: Volatile modifier applies to variables only and it tells the compiler that
the variable modified by volatile can be changed unexpectedly by other parts of
the program. This means other threads can edit that particular variable. So the
compiler allows access to them. Not necessary for immutable fields or single
threaded fields. Short Answer: variable may be changed by other threads.
What is method overloading and method overriding? - ANSWER -Method
Overloading: When a method in a class having the same method name with
different arguments is said to be method overloading. Occurs at compile time.
Overloading Conditions:
1.) The number of parameters are different
2.) The parameter types are different
VERIFIED ANSWERS
What is the difference between procedural and object-oriented programs? -
ANSWER a) In procedural program, programming logic follows certain
procedures and the instructions are executed one after another. In OOP
program, the unit of program is an object, which is nothing but combination of
data and code. b) In procedural program, data is exposed to the whole program
whereas in OOPs program, it is accessible within the object and which in-turn
assures the security of the code.
What are Encapsulation, Inheritance and Polymorphism? - ANSWER
Encapsulation is the packing of data and functions into a single component and
keeps both safe from outside interference and misuse. Inheritance is the process
by which one object acquires the properties of another object. Polymorphism is
the ability of objects taking on many forms and is a feature that allows one
interface to be used for general class actions.
What is the difference between Assignment and Initialization? - ANSWER
Assignment can be done as many times as desired whereas initialization can be
done only once.
What is OOPs? - ANSWER Object oriented programming organizes a
program around its data, i. e. , objects and a set of well defined interfaces to that
data. An object-oriented program can be characterized as data controlling access
to code.
What are Class, Constructor and Primitive data types? - ANSWER Class is a
template for multiple objects with similar features and it is a blue print for
objects. It defines a type of object according to the data the object can hold and
the operations the object can perform. Constructor is a special kind of method
that determines how an object is initialized when created. Primitive data types
are 8 types and they are: byte, short, int, long, float, double, boolean, char.
,What is an Object and how do you allocate memory to it? - ANSWER Object
is an instance of a class and it is a software unit that combines a structured set of
data with a set of operations for inspecting and manipulating that data. When an
object is created using new operator, memory is allocated to it.
What is the difference between constructor and method? - ANSWER
Constructor will be automatically invoked when an object is created whereas
method has to be called explicitly.
What are methods and how are they defined? - ANSWER Methods are
functions that operate on instances of classes in which they are defined. Objects
can communicate with each other using methods and can call methods in other
classes. Method definition has four parts. They are name of the method, type of
object or primitive type the method returns, a list of parameters and the body of
the method. A method's signature is a combination of the first three parts
mentioned above.
What is casting? - ANSWER Casting is used to convert the value of one type
to another.
How many ways can an argument be passed to a subroutine and explain them? -
ANSWER An argument can be passed in two ways. They are passing by value
and passing by reference. Passing by value: This method copies the value of an
argument into the formal parameter of the subroutine. Passing by reference: In
this method, a reference to an argument (not the value of the argument) is
passed to the parameter.
What is the difference between an argument and a parameter? - ANSWER
While defining method, variables passed in the method are called parameters.
While using those methods, values passed to those variables are called
arguments.
What are different types of access modifiers? - ANSWER public: Any thing
declared as public can be accessed from anywhere. private: Any thing declared
as private can't be seen outside of its class. protected: Any thing declared as
protected can be accessed by classes in the same package and subclasses in the
other packages. default modifier : Can be accessed only to classes in the same
package.
, What is final, finalize() and finally? - ANSWER final : final keyword can be
used for class, method and variables. A final class cannot be subclassed and it
prevents other programmers from subclassing a secure class to invoke insecure
methods. A final method can't be overridden. A final variable can't change from
its initialized value. finalize() : finalize() method is used just before an object is
destroyed and can be called just prior to garbage collection. finally : finally, a
key word used in exception handling, creates a block of code that will be
executed after a try/catch block has completed and before the code following
the try/catch block. The finally block will execute whether or not an exception
is thrown. For example, if a method opens a file upon exit, then you will not
want the code that closes the file to be bypassed by the exception-handling
mechanism. This finally keyword is designed to address this contingency.
What is UNICODE? - ANSWER Unicode is used for internal representation of
characters and strings and it uses 16 bits to represent each other.
What is finalize() method? - ANSWER finalize () method is used just before
an object is destroyed and can be called just prior to garbage collection.
What are Transient and Volatile Modifiers? - ANSWER - Transient: The
transient modifier applies to variables only and it is not stored as part of its
object's Persistent state. This means that when you serialize an object, it will
return its default value on de-serialization. Transient variables are not serialized.
Short Answer: variable cannot be serialized.
Volatile: Volatile modifier applies to variables only and it tells the compiler that
the variable modified by volatile can be changed unexpectedly by other parts of
the program. This means other threads can edit that particular variable. So the
compiler allows access to them. Not necessary for immutable fields or single
threaded fields. Short Answer: variable may be changed by other threads.
What is method overloading and method overriding? - ANSWER -Method
Overloading: When a method in a class having the same method name with
different arguments is said to be method overloading. Occurs at compile time.
Overloading Conditions:
1.) The number of parameters are different
2.) The parameter types are different