0% found this document useful (0 votes)
654 views

CS8392 Object Oriented Programming MCQ PDF

The document discusses key concepts related to object-oriented programming and Java fundamentals. It contains 15 multiple choice questions about foundational OOP topics like classes, abstraction, encapsulation, and polymorphism. SmallTalk is identified as the first purely object-oriented programming language. Key characteristics of classes like being a blueprint for objects and allowing member functions are covered. The differences between Java and C++ in terms of OOP support are also highlighted.

Uploaded by

MekalaRamesh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
654 views

CS8392 Object Oriented Programming MCQ PDF

The document discusses key concepts related to object-oriented programming and Java fundamentals. It contains 15 multiple choice questions about foundational OOP topics like classes, abstraction, encapsulation, and polymorphism. SmallTalk is identified as the first purely object-oriented programming language. Key characteristics of classes like being a blueprint for objects and allowing member functions are covered. The differences between Java and C++ in terms of OOP support are also highlighted.

Uploaded by

MekalaRamesh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 167

CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

CS8392 OBJECT ORIENTED PROGRAMMING

CSE 5th Semester


Anna University - Regulations 2017

UNIT I INTRODUCTION TO OOP AND JAVA FUNDAMENTALS


TOPIC 1.1 OBJECT ORIENTED PROGRAMMING

1. Which was the first purely object oriented programming language developed?
a) Java
b) C++
c) SmallTalk
d) Kotlin

Answer: c
Explanation: SmallTalk was the first programming language developed which was purely object oriented. It was
developed by Alan Kay. OOP concept came into the picture in 1970’s.

2. Which of the following best defines a class?


a) Parent of an object
b) Instance of an object
c) Blueprint of an object
d) Scope of an object

Answer: c
Explanation: A class is Blueprint of an object which describes/ shows all the functions and data that are provided by an
object of a specific class. It can’t be called as parent or instance of an object. Class in general describes all the properties of
an object.

3. Who invented OOP?


a) Alan Kay
b) Andrea Ferro
c) Dennis Ritchie
d) Adele Goldberg

Answer: a
Explanation: Alan Kay invented OOP, Andrea Ferro was a part of SmallTalk Development. Dennis invented C++ and
Adele Goldberg was in team to develop SmallTalk but Alan actually had got rewarded for OOP.

4. What is the additional feature in classes that was not in structures?


a) Data members
b) Member functions
c) Static data allowed
d) Public access specifier

Answer: b
Explanation: Member functions are allowed inside a class but were not present in structure concept. Data members, static
data and public access specifiers were present in structures too.

5. Which is not feature of OOP in general definitions?


a) Code reusability
b) Modularity

Downloaded from: https://cse-r17.blogspot.com 1


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Duplicate/Redundant data
d) Efficient Code

Answer: c
Explanation: Duplicate/Redundant data is dependent on programmer and hence can’t be guaranteed by OOP. Code
reusability is done using inheritance. Modularity is supported by using different code files and classes. Codes are more
efficient because of features of OOP.

6. Pure OOP can be implemented without using class in a program. (True or False)
a) True
b) False

Answer: b
Explanation: It’s false because for a program to be pure OO, everything must be written inside classes. If this rule is
violated, the program can’t be labelled as purely OO.

7. Which Feature of OOP illustrated the code reusability?


a) Polymorphism
b) Abstraction
c) Encapsulation
d) Inheritance

Answer: d
Explanation: Using inheritance we can reuse the code already written and also can avoid creation of many new functions
or variables, as that can be done one time and be reused, using classes.

8. Which language does not support all 4 types of inheritance?


a) C++
b) Java
c) Kotlin
d) Small Talk

Answer: b
Explanation: Java doesn’t support all 4 types of inheritance. It doesn’t support multiple inheritance. But the multiple
inheritance can be implemented using interfaces in Java.

9. How many classes can be defined in a single program?


a) Only 1
b) Only 100
c) Only 999
d) As many as you want

Answer: d
Explanation: Any number of classes can be defined inside a program, provided that their names are different. In java, if
public class is present then it must have the same name as that of file.

10. When OOP concept did first came into picture?


a) 1970’s
b) 1980’s
c) 1993
d) 1995

Answer: a
Explanation: OOP first came into picture in 1970’s by Alan and his team. Later it was used by some programming
languages and got implemented successfully, SmallTalk was first language to use pure OOP and followed all rules strictly.

11. Why Java is Partially OOP language?


a) It supports usual declaration of primitive data types
b) It doesn’t support all types of inheritance
c) It allows code to be written outside classes
d) It does not support pointers

Downloaded from: https://cse-r17.blogspot.com 2


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: a
Explanation: As Java supports usual declaration of data variables, it is partial implementation of OOP. Because according
to rules of OOP, object constructors must be used, even for declaration of variables.

12. Which concept of OOP is false for C++?


a) Code can be written without using classes
b) Code must contain at least one class
c) A class must have member functions
d) At least one object should be declared in code

Answer: b
Explanation: In C++, it’s not necessary to use classes, and hence codes can be written without using OOP concept.
Classes may or may not contain member functions, so it’s not a necessary condition in C++. And, an object can only be
declared in a code if its class is defined/included via header file.

13. Which header file is required in C++ to use OOP?


a) iostream.h
b) stdio.h
c) stdlib.h
d) OOP can be used without using any header file

Answer: d
Explanation: We need not include any specific header file to use OOP concept in C++, only specific functions used in
code need their respective header files to be included or classes should be defined if needed.

14. Which of the two features match each other?


a) Inheritance and Encapsulation
b) Encapsulation and Polymorphism
c) Encapsulation and Abstraction
d) Abstraction and Polymorphism

Answer: c
Explanation: Encapsulation and Abstraction are similar features. Encapsulation is actually binding all the properties in a
single class or we can say hiding all the features of object inside a class. And Abstraction is hiding unwanted data (for
user) and showing only the data required by the user of program.

15. Which feature allows open recursion, among the following?


a) Use of this pointer
b) Use of pointers
c) Use of pass by value
d) Use of parameterized constructor

Answer: a
Explanation: Use of this pointer allows an object to call data and methods of itself whenever needed. This helps us call
the members of an object recursively, and differentiate the variables of different scopes.

TOPIC 1.2 ABSTRACTION

1. Which among the following best defines abstraction?


a) Hiding the implementation
b) Showing the important data
c) Hiding the important data
d) Hiding the implementation and showing only the features

Answer: d
Explanation: It includes hiding the implementation part and showing only the required data and features to the user. It is
done to hide the implementation complexity and details from the user. And to provide a good interface in programming.

2. Hiding the implementation complexity can ____________


a) Make the programming easy
b) Make the programming complex

Downloaded from: https://cse-r17.blogspot.com 3


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Provide more number of features


d) Provide better features

Answer: a
Explanation: It can make programming easy. The programming need not know how the inbuilt functions are working but
can use those complex functions directly in the program. It doesn’t provide more number of features or better features.

3. Class is _________ abstraction.


a) Object
b) Logical
c) Real
d) Hypothetical

Answer: b
Explanation: Class is logical abstraction because it provides a logical structure for all of its objects. It gives an overview
of the features of an object.

4. Object is ________ abstraction.


a) Object
b) Logical
c) Real
d) Hypothetical

Answer: c
Explanation: Object is real abstraction because it actually contains those features of class. It is the implementation of
overview given by class. Hence the class is logical abstraction and its object is real.

5. Abstraction gives higher degree of ________


a) Class usage
b) Program complexity
c) Idealized interface
d) Unstable interface

Answer: c
Explanation: It is to idealize the interface. In this way the programmer can use the programming features more efficiently
and can code better. It can’t increase the program complexity, as the feature itself is made to hide it.

6. Abstraction can apply to ____________


a) Control and data
b) Only data
c) Only control
d) Classes

Answer: a
Explanation: Abstraction applies to both. Control abstraction involves use of subroutines and control flow abstraction.
Data abstraction involves handling pieces of data in meaningful ways.

7. Which among the following can be viewed as combination of abstraction of data and code.
a) Class
b) Object
c) Inheritance
d) Interfaces

Answer: b
Explanation: Object can be viewed as abstraction of data and code. It uses data members and their functioning as data
abstraction. Code abstraction as use of object of inbuilt class.

8. Abstraction principle includes___________


a) Use abstraction at its minimum
b) Use abstraction to avoid longer codes
c) Use abstraction whenever possible to avoid duplication
d) Use abstraction whenever possible to achieve OOP

Downloaded from: https://cse-r17.blogspot.com 4


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: Abstraction principle includes use of abstraction to avoid duplication (usually of code). It this way the
program doesn’t contain any redundant functions and make the program efficient.

9. Higher the level of abstraction, higher are the details.


a) True
b) False

Answer: b
Explanation: Higher the level of abstraction, lower are the details. The best way to understand this is to consider a whole
system that is highest level of abstraction as it hides everything inside. And next lower level would contain few of the
computer components and so on.

10. Encapsulation and abstraction differ as ____________


a) Binding and Hiding respectively
b) Hiding and Binding respectively
c) Can be used any way
d) Hiding and hiding respectively

Answer: a
Explanation: Abstraction is hiding the complex code. For example, we directly use cout object in C++ but we don’t know
how is it actually implemented. Encapsulation is data binding, as in, we try to combine a similar type of data and functions
together.

11. In terms of stream and files ____________


a) Abstraction is called a stream and device is called a file
b) Abstraction is called a file and device is called a stream
c) Abstraction can be called both file and stream
d) Abstraction can’t be defined in terms of files and stream

Answer: a
Explanation: Abstraction is called stream to provide a level of complexity hiding, for how the files operations are actually
done. Actual devices are called file because in one way or another, those can be considered as single entity and there is
nothing hidden.

12. If two classes combine some private data members and provides public member functions to access and manipulate
those data members. Where is abstraction used?
a) Using private access specifier for data members
b) Using class concept with both data members and member functions
c) Using public member functions to access and manipulate the data members
d) Data is not sufficient to decide what is being used

Answer: c
Explanation: It is the concept of hiding program complexity and actual working in background. Hence use of public
member functions illustrates abstraction here.

13. A phone is made up of many components like motherboard, camera, sensors and etc. If the processor represents all the
functioning of phone, display shows the display only, and the phone is represented as a whole. Which among the following
have highest level of abstraction?
a) Motherboard
b) Display
c) Camera
d) Phone

Answer: d
Explanation: Phone as a whole have the highest level of abstraction. This is because the phone being a single unit
represents the whole system. Whereas motherboard, display and camera are its components.

14. Which among the following is not a level of abstraction?


a) Logical level
b) Physical level
c) View level
d) External level

Downloaded from: https://cse-r17.blogspot.com 5


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: d
Explanation: Abstraction is generally divided into 3 different levels, namely, logical, physical and view level. External
level is not defined in terms of abstraction.

15. Using higher degree of abstraction __________


a) May get unsafe
b) May reduce readability
c) Can be safer
d) Can increase vulnerability

Answer: c
Explanation: It will make the code safer. One may think it reduces the readability, but the fact is, it actually helps us
understand the code better. We don’t have to read the complex code which is of no use in understanding the program.

TOPIC 1.3 OBJECTS

1. Which definition best describes an object?


a) Instance of a class
b) Instance of itself
c) Child of a class
d) Overview of a class

Answer: a
Explanation: An object is instance of its class. It can be declared in the same way that a variable is declared, only thing is
you have to use class name as the data type.

2. How many objects can be declared of a specific class in a single program?


a) 32768
b) 127
c) 1
d) As many as you want

Answer: d
Explanation: You can create as many objects of a specific class as you want, provided enough memory is available.

3. Which among the following is false?


a) Object must be created before using members of a class
b) Memory for an object is allocated only after its constructor is called
c) Objects can’t be passed by reference
d) Objects size depends on its class data members

Answer: c
Explanation: Objects can be passed by reference. Objects can be passed by value also. If the object of a class is not
created, we can’t use members of that class.

4. Which of the following is incorrect?


a) class student{ }s;
b) class student{ }; student s;
c) class student{ }s[];
d) class student{ }; student s[5];

Answer: c
Explanation: The array must be specified with a size. You can’t declare object array, or any other linear array without
specifying its size. It’s a mandatory field.

5. The object can’t be __________


a) Passed by reference
b) Passed by value
c) Passed by copy
d) Passed as function

Downloaded from: https://cse-r17.blogspot.com 6


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: d
Explanation: Object can’t be passed as function as it is an instance of some class, it’s not a function. Object can be passed
by reference, value or copy. There is no term defined as pass as function for objects.

6. What is size of the object of following class (64 bit system)?

class student { int rollno; char name[20]; static int studentno; };

a) 20
b) 22
c) 24
d) 28

Answer: c
Explanation: The size of any object of student class will be of size 4+20=24, because static members are not really
considered as property of a single object. So static variables size will not be added.

7. Functions can’t return objects.


a) True
b) False

Answer: b
Explanation: Functions can always return an object if the return type is same as that of object being returned. Care has to
be taken while writing the prototype of the function.

8. How members of an object are accessed?


a) Using dot operator/period symbol
b) Using scope resolution operator
c) Using member names directly
d) Using pointer only

Answer: a
Explanation: Using dot operator after the name of object we can access its members. It is not necessary to use the
pointers. We can’t use the names directly because it may be used outside the class.

9. If a local class is defined in a function, which of the following is true for an object of that class?
a) Object is accessible outside the function
b) Object can be declared inside any other function
c) Object can be used to call other class members
d) Object can be used/accessed/declared locally in that function

Answer: d
Explanation: For an object which belongs to a local class, it is mandatory to declare and use the object within the function
because the class is accessible locally within the class only.

10. Which among the following is wrong?


a) class student{ }; student s;
b) abstract class student{ }; student s;
c) abstract class student{ }s[50000000];
d) abstract class student{ }; class toppers: public student{ }; topper t;

Answer: b
Explanation: We can never create instance of an abstract class. Abstract classes doesn’t have constructors and hence when
an instance is created there is no facility to initialize its members. Option d is correct because topper class is inheriting the
base abstract class student, and hence topper class object can be created easily.

11. Object declared in main() function _____________


a) Can be used by any other function
b) Can be used by main() function of any other program
c) Can’t be used by any other function
d) Can be accessed using scope resolution operator

Downloaded from: https://cse-r17.blogspot.com 7


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: The object declared in main() have local scope inside main() function only. It can’t be used outside main()
function. Scope resolution operator is used to access globally declared variables/objects.

12. When an object is returned___________


a) A temporary object is created to return the value
b) The same object used in function is used to return the value
c) The Object can be returned without creation of temporary object
d) Object are returned implicitly, we can’t say how it happens inside program

Answer: a
Explanation: A temporary object is created to return the value. It is created because the object used in function is
destroyed as soon as the function is returned. The temporary variable returns the value and then gets destroyed.

13. Which among the following is correct?


a) class student{ }s1,s2; s1.student()=s2.student();
b) class student{ }s1; class topper{ }t1; s1=t1;
c) class student{ }s1,s2; s1=s2;
d) class student{ }s1; class topper{ }t1; s1.student()=s2.topper();

Answer: c
Explanation: Only if the objects are of same class then their data can be copied from to another using assignment operator.
This actually comes under operator overloading. Class constructors can’t be assigned any explicit value as in option class
student{ }s1; class topper{ }t1; s1=t1; and class student{ }s1; class topper{ }t1; s1.student()=s2.topper();.

14. Which among following is correct for initializing the class below?
class student{
int marks;
int cgpa;
public: student(int i, int j){
marks=I;
cgpa=j
}
};

a) student s[3]={ s(394, 9); s(394, 9); s(394,9); };


b) student s[2]={ s(394,9), s(222,5) };
c) student s[2]={ s1(392,9), s2(222,5) };
d) student s[2]={ s[392,9], s2[222,5] };

Answer: b
Explanation: It is the way we can initialize the data members for an object array using parameterized constructor. We can
do this to pass our own intended values to initialize the object array data.

15. Object can’t be used with pointers because they belong to user defined class, and compiler can’t decide the type of data
may be used inside the class.
a) True
b) False

Answer: b
Explanation: The explanation given is wrong because object can always be used with pointers like with any other
variables. Compiler doesn’t have to know the structure of the class to use a pointer because the pointers only points to a
memory address/stores that address.

TOPIC 1.4 CLASSES

1. Which of the following is not type of class?


a) Abstract Class
b) Final Class
c) Start Class
d) String Class

Downloaded from: https://cse-r17.blogspot.com 8


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: Only 9 types of classes are provided in general, namely, abstract, final, mutable, wrapper, anonymous, input-
output, string, system, network. We may further divide the classes into parent class and subclass if inheritance is used.

2. Class is pass by _______


a) Value
b) Reference
c) Value or Reference, depending on program
d) Copy

Answer: b
Explanation: Classes are pass by reference, and the structures are pass by copy. It doesn’t depend on the program.

3. What is default access specifier for data members or member functions declared within a class without any specifier, in
C++?
a) Private
b) Protected
c) Public
d) Depends on compiler

Answer: a
Explanation: The data members and member functions are Private by default in C++ classes, if none of the access
specifier is used. It is actually made to increase the privacy of data.

4. Which is most appropriate comment on following class definition?


class Student
{
int a;
public : float a;
};

a) Error : same variable name can’t be used twice


b) Error : Public must come first
c) Error : data types are different for same variable
d) It is correct

Answer: a
Explanation: Same variable can’t be defined twice in same scope. Even if the data types are different, variable name must
be different. There is no rule like Public member should come first or last.

5. Which is known as a generic class?


a) Abstract class
b) Final class
c) Template class
d) Efficient Code

Answer: c
Explanation: Template classes are known to be generic classes because those can be used for any data type value and the
same class can be used for all the variables of different data types.

6. Size of a class is _____________


a) Sum of the size of all the variables declared inside the class
b) Sum of the size of all the variables along with inherited variables in the class
c) Size of the largest size of variable
d) Classes doesn’t have any size

Answer: d
Explanation: Classes doesn’t have any size, actually the size of object of the class can be defined. That is done only when
an object is created and its constructor is called.

7. Which class can have member functions without their implementation?


a) Default class
b) String class

Downloaded from: https://cse-r17.blogspot.com 9


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Template class
d) Abstract class

Answer: d
Explanation: Abstract classes can have member functions with no implementation, where the inheriting subclasses must
implement those functions.

8. Which of the following describes a friend class?


a) Friend class can access all the private members of the class, of which it is a friend
b) Friend class can only access protected members of the class, of which it is a friend
c) Friend class don’t have any implementation
d) Friend class can’t access any data member of another class but can use it’s methods

Answer: a
Explanation: A friend class can access all the private members of another class, of which it is a friend. It is a special class
provided to use when you need to reuse the data of a class but don’t want that class to have those special functions.

9. What is the scope of a class nested inside another class?


a) Protected scope
b) Private scope
c) Global scope
d) Depends on access specifier and inheritance used

Answer: d
Explanation: It depends on the access specifier and the type of inheritance used with the class, because if the class is
inherited then the nested class can be used by subclass too, provided it’s not of private type.

10. Class with main() function can be inherited.


a) True
b) False

Answer: a
Explanation: The class containing main function can be inherited and hence the program can be executed using the
derived class names also in java.

11. Which among the following is false, for a member function of a class?
a) All member functions must be defined
b) Member functions can be defined inside or outside the class body
c) Member functions need not be declared inside the class definition
d) Member functions can be made friend to another class using the friend keyword

Answer: c
Explanation: Member functions must be declared inside class body, though the definition can be given outside the class
body. There is no way to declare the member functions outside the class.

12. Which syntax for class definition is wrong?


a) class student{ };
b) student class{ };
c) class student{ public: student(int a){ } };
d) class student{ student(int a){} };

Answer: b
Explanation: Keyword class should come first. Class name should come after keyword class. Parameterized constructor
definition depends on programmer so it can be left empty also.

13. Which of the following pairs are similar?


a) Class and object
b) Class and structure
c) Structure and object
d) Structure and functions

Answer: b
Explanation: Class and structure are similar to each other. Only major difference is that a structure doesn’t have member

Downloaded from: https://cse-r17.blogspot.com 10


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

functions whereas the class can have both data members and member functions.

14. Which among the following is false for class features?


a) Classes may/may not have both data members and member functions
b) Class definition must be ended with a colon
c) Class can have only member functions with no data members
d) Class is similar to union and structures

Answer: b
Explanation: Class definition must end with a semicolon, not colon. Class can have only member functions in its body
with no data members.

15. Instance of which type of class can’t be created?


a) Anonymous class
b) Nested class
c) Parent class
d) Abstract class

Answer: d
Explanation: Instance of abstract class can’t be created as it will not have any constructor of its own, hence while creating
an instance of class, it can’t initialize the object members. Actually the class inheriting the abstract class can have its
instance because it will have implementation of all members.

TOPIC 1.5 ENCAPSULATION

1. Which among the following best describes encapsulation?


a) It is a way of combining various data members into a single unit
b) It is a way of combining various member functions into a single unit
c) It is a way of combining various data members and member functions into a single unit which can operate on any data
d) It is a way of combining various data members and member functions that operate on those data members into a single
unit

Answer: d
Explanation: It is a way of combining both data members and member functions, which operate on those data members,
into a single unit. We call it a class in OOP generally. This feature have helped us modify the structures used in C language
to be upgraded into class in C++ and other languages.

2. If data members are private, what can we do to access them from the class object?
a) Create public member functions to access those data members
b) Create private member functions to access those data members
c) Create protected member functions to access those data members
d) Private data members can never be accessed from outside the class

Answer: a
Explanation: We can define public member functions to access those private data members and get their value for use or
alteration. They can’t be accessed directly but is possible to be access using member functions. This is done to ensure that
the private data doesn’t get modified accidentally.

3. While using encapsulation, which among the following is possible?


a) Code modification can be additional overhead
b) Data member’s data type can be changed without changing any other code
c) Data member’s type can’t be changed, or whole code have to be changed
d) Member functions can be used to change the data type of data members

Answer: b
Explanation: Data member’s data type can be changed without changing any further code. All the members using that
data can continue in the same way without any modification. Member functions can never change the data type of same
class data members.

4. Which feature can be implemented using encapsulation?


a) Inheritance
b) Abstraction

Downloaded from: https://cse-r17.blogspot.com 11


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Polymorphism
d) Overloading

Answer: b
Explanation: Data abstraction can be achieved by using encapsulation. We can hide the operation and structure of actual
program from the user and can show only required information by the user.

5. Find which of the following uses encapsulation?


a) void main(){ int a; void fun( int a=10; cout<<a); fun(); }
b) class student{ int a; public: int b;};
c) class student{int a; public: void disp(){ cout<<a;} };
d) struct topper{ char name[10]; public : int marks; }

Answer: c
Explanation: It is the class which uses both the data members and member functions being declared inside a single unit.
Only data members can be there in structures also. And the encapsulation can only be illustrated if some data/operations
are associated within class.

6. Encapsulation helps in writing ___________ classes in java.


a) Mutable
b) Abstract
c) Wrapper
d) Immutable

Answer: d
Explanation: Immutable classes are used for caching purpose generally. And it can be created by making the class as final
and making all its members private.

7. Which among the following should be encapsulated?


a) The data which is prone to change is near future
b) The data prone to change in long terms
c) The data which is intended to be changed
d) The data which belongs to some other class

Answer: a
Explanation: The data prone to change in near future is usually encapsulated so that it doesn’t get changed accidentally.
We encapsulate the data to hide the critical working of program from outside world.

8. How can Encapsulation be achieved?


a) Using Access Specifiers
b) Using only private members
c) Using inheritance
d) Using Abstraction

Answer: a
Explanation: Using access specifiers we can achieve encapsulation. Using this we can in turn implement data abstraction.
It’s not necessary that we only use private access.

9. Which among the following violates the principle of encapsulation almost always?
a) Local variables
b) Global variables
c) Public variables
d) Array variables

Answer: b
Explanation: Global variables almost always violates the principles of encapsulation. Encapsulation says the data should
be accessed only by required set of elements. But global variable is accessible everywhere, also it is most prone to
changes. It doesn’t hide the internal working of program.

10. Which among the following would destroy the encapsulation mechanism if it was allowed in programming?
a) Using access declaration for private members of base class
b) Using access declaration for public members of base class

Downloaded from: https://cse-r17.blogspot.com 12


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Using access declaration for local variable of main() function


d) Using access declaration for global variables

Answer: a
Explanation: If using access declaration for private members of base class was allowed in programming, it would have
destroyed whole concept of encapsulation. As if it was possible, any class which gets inherited privately, would have been
able to inherit the private members of base class, and hence could access each and every member of base class.

11. Which among the following can be a concept against encapsulation rules?
a) Using function pointers
b) Using char* string pointer to be passed to non-member function
c) Using object array
d) Using any kind of pointer/array address in passing to another function

Answer: d
Explanation: If we use any kind of array or pointer as data member which should not be changed, but in some case its
address is passed to some other function or similar variable. There are chances to modify its whole data easily. Hence
Against encapsulation.

12. Consider the following code and select the correct option.

class student
{
int marks;
public : int* fun()
{
return &marks;
}
};
main()
{
student s;
int *ptr=c.fun();
return 0;
}

a) This code is good to go


b) This code may result in undesirable conditions
c) This code will generate error
d) This code violates encapsulation

Answer: d
Explanation: This code violates the encapsulation. By this code we can get the address of the private member of the class,
hence we can change the value of private member, which is against the rules.

13. Consider the code and select the wrong choice.


class hero
{
char name[10];
public : void disp()
{
cout<<name;
}
};

a) This maintains encapsulation


b) This code doesn’t maintain encapsulation
c) This code is vulnerable
d) This code gives error

Answer: a
Explanation: This code maintains encapsulation. Here the private member is kept private. Outside code can’t access the
private members of class. Only objects of this class will be able to access the public member function at maximum.

Downloaded from: https://cse-r17.blogspot.com 13


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

14. Encapsulation is the way to add functions in a user defined structure.


a) True
b) False

Answer: b
Explanation: False, because we can’t call these structures if member functions are involved, it must be called class. Also,
it is not just about adding functions, it’s about binding data and functions together.

15. Using encapsulation data security is ___________


a) Not ensured
b) Ensured to some extent
c) Purely ensured
d) Very low

Answer: b
Explanation: The encapsulation can only ensure data security to some extent. If pointer and addresses are misused, it may
violate encapsulation. Use of global variables also makes the program vulnerable, hence we can’t say that encapsulation
gives pure security.

TOPIC 1.6 INHERITANCE

1. Which among the following best describes the Inheritance?


a) Copying the code already written
b) Using the code already written once
c) Using already defined functions in programming language
d) Using the data and functions into derived segment

Answer: d
Explanation: It can only be indicated by using the data and functions that we use in derived class, being provided by
parent class. Copying code is nowhere similar to this concept, also using the code already written is same as copying.
Using already defined functions is not inheritance as we are not adding any of our own features.

2. How many basic types of inheritance are provided as OOP feature?


a) 4
b) 3
c) 2
d) 1

Answer: a
Explanation: There are basically 4 types of inheritance provided in OOP, namely, single level, multilevel, multiple and
hierarchical inheritance. We can add one more type as Hybrid inheritance but that is actually the combination any types of
inheritance from the 4 basic ones.

3. Which among the following best defines single level inheritance?


a) A class inheriting a derived class
b) A class inheriting a base class
c) A class inheriting a nested class
d) A class which gets inherited by 2 classes

Answer: b
Explanation: A class inheriting a base class defines single level inheritance. Inheriting an already derived class makes it
multilevel inheritance. And if base class is inherited by 2 other classes, it is multiple inheritance.

4. Which among the following is correct for multiple inheritance?


a) class student{public: int marks;}s; class stream{int total;}; class topper:public student, public stream{ };
b) class student{int marks;}; class stream{ }; class topper: public student{ };
c) class student{int marks;}; class stream:public student{ };
d) class student{ }; class stream{ }; class topper{ };

Answer: a
Explanation: Class topper is getting derived from 2 other classes and hence it is multiple inheritance. Topper inherits class

Downloaded from: https://cse-r17.blogspot.com 14


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

stream and class student publicly and hence can use its features. If only few classes are defined, there we are not even
using inheritance (as in option class student{ }; class stream{ }; class topper{ };).

5. Which programming language doesn’t support multiple inheritance?


a) C++ and Java
b) C and C++
c) Java and SmallTalk
d) Java

Answer: d
Explanation: Java doesn’t support multiple inheritance. But that feature can be implemented by using the interfaces
concept. Multiple inheritance is not supported because of diamond problem and similar issues.

6. Which among the following is correct for a hierarchical inheritance?


a) Two base classes can be used to be derived into one single class
b) Two or more classes can be derived into one class
c) One base class can be derived into other two derived classes or more
d) One base class can be derived into only 2 classes

Answer: c
Explanation: One base class can be derived into the other two derived classes or more. If only one class gets derived by
only 2 other classes, it is also hierarchical inheritance, but it is not a mandatory condition, because any number of derived
classes can be there.

7. Which is the correct syntax of inheritance?


a) class derived_classname : base_classname{ /*define class body*/ };
b) class base_classname : derived_classname{ /*define class body*/ };
c) class derived_classname : access base_classname{ /*define class body*/ };
d) class base_classname :access derived_classname{ /*define class body*/ };

Answer: c
Explanation: Firstly, keyword class should come, followed by the derived class name. Colon is must followed by access
in which base class has to be derived, followed by the base class name. And finally the body of class. Semicolon after the
body is also must.

8. Which type of inheritance leads to diamond problem?


a) Single level
b) Multi-level
c) Multiple
d) Hierarchical

Answer: c
Explanation: When 2 or more classes inherit the same class using multiple inheritance and then one more class inherits
those two base classes, we get a diamond like structure. Here, ambiguity arises when same function gets derived into 2
base classes and finally to 3rd level class because same name functions are being inherited.

9. Which access type data gets derived as private member in derived class?
a) Private
b) Public
c) Protected
d) Protected and Private

Answer: a
Explanation: It is a rule, that when a derived class inherits the base class in private access mode, all the members of base
class gets derived as private members of the derived class.

10. If a base class is inherited in protected access mode then which among the following is true?
a) Public and Protected members of base class becomes protected members of derived class
b) Only protected members become protected members of derived class
c) Private, Protected and Public all members of base, become private of derived class
d) Only private members of base, become private of derived class

Downloaded from: https://cse-r17.blogspot.com 15


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: a
Explanation: As the programming language rules apply, all the public and protected members of base class becomes
protected members of derived class in protected access mode. It can’t be changed because it would hinder the security of
data and may add vulnerability in the program.

11. Members which are not intended to be inherited are declared as ________________
a) Public members
b) Protected members
c) Private members
d) Private or Protected members

Answer: c
Explanation: Private access specifier is the most secure access mode. It doesn’t allow members to be inherited. Even
Private inheritance can only inherit protected and public members.

12. While inheriting a class, if no access mode is specified, then which among the following is true? (in C++)
a) It gets inherited publicly by default
b) It gets inherited protected by default
c) It gets inherited privately by default
d) It is not possible

Answer: c
Explanation: If the access mode is not specified during inheritance, the class is inherited privately by default. This is to
ensure the security of data and to maintain OOP features. Hence it is not mandatory to specify the access mode if we want
the class to be inherited privately.

13. If a derived class object is created, which constructor is called first?


a) Base class constructor
b) Derived class constructor
c) Depends on how we call the object
d) Not possible

Answer: a
Explanation: First the base class constructor is invoked. When we create a derived class object, the system tries to invoke
its constructor but the class is derived so first the base class must be initialized, hence in turn the base class constructor is
invoked before the derived class constructor.

14. The private members of the base class are visible in derived class but are not accessible directly.
a) True
b) False

Answer: a
Explanation: Consider that a variable is private in base class and the derived class uses public inheritance to inherit that
class. Now if we also have a global variable of same name as that of base class private variable, neither the global variable
nor the base class private variable will be accessible from derived class. This is because we can’t have 2 variables with
same name in same local scope. Hence the private members are accessible but not directly.

15. How can you make the private members inheritable?


a) By making their visibility mode as public only
b) By making their visibility mode as protected only
c) By making their visibility mode as private in derived class
d) It can be done both by making the visibility mode public or protected

Answer: d
Explanation: It is not mandatory that you have to make the visibility mode either public or protected. You can do either of
those. That will give you permission to inherit the private members of base class.

TOPIC 1.7 POLYMORPHISM

1. Which among the following best describes polymorphism?


a) It is the ability for a message/data to be processed in more than one form
b) It is the ability for a message/data to be processed in only 1 form

Downloaded from: https://cse-r17.blogspot.com 16


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) It is the ability for many messages/data to be processed in one way


d) It is the ability for undefined message/data to be processed in at least one way

Answer: a
Explanation: It is actually the ability for a message / data to be processed in more than one form. The word polymorphism
indicates many-forms. So if a single entity takes more than one form, it is known as polymorphism.

2. What do you call the languages that support classes but not polymorphism?
a) Class based language
b) Procedure Oriented language
c) Object-based language
d) If classes are supported, polymorphism will always be supported

Answer: c
Explanation: The languages which support classes but doesn’t support polymorphism, are known as object-based
languages. Polymorphism is such an important feature, that is a language doesn’t support this feature, it can’t be called as a
OOP language.

3. Which among the following is the language which supports classes but not polymorphism?
a) SmallTalk
b) Java
c) C++
d) Ada

Answer: d
Explanation: Ada is the language which supports the concept of classes but doesn’t support the polymorphism feature. It
is an object-based programming language. Note that it’s not an OOP language.

4. If same message is passed to objects of several different classes and all of those can respond in a different way, what is
this feature called?
a) Inheritance
b) Overloading
c) Polymorphism
d) Overriding

Answer: c
Explanation: The feature defined in question defines polymorphism features. Here the different objects are capable of
responding to the same message in different ways, hence polymorphism.

5. Which class/set of classes can illustrate polymorphism in the following code?


abstract class student
{
public : int marks;
calc_grade();
}
class topper:public student
{
public : calc_grade()
{
return 10;
}
};
class average:public student
{
public : calc_grade()
{
return 20;
}
};
class failed{ int marks; };

a) Only class student can show polymorphism


b) Only class student and topper together can show polymorphism
c) All class student, topper and average together can show polymorphism
d) Class failed should also inherit class student for this code to work for polymorphism

Downloaded from: https://cse-r17.blogspot.com 17


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: Since Student class is abstract class and class topper and average are inheriting student, class topper and
average must define the function named calc_grade(); in abstract class. Since both the definition are different in those
classes, calc_grade() will work in different way for same input from different objects. Hence it shows polymorphism.

6. Which type of function among the following shows polymorphism?


a) Inline function
b) Virtual function
c) Undefined functions
d) Class member functions

Answer: b
Explanation: Only virtual functions among these can show polymorphism. Class member functions can show
polymorphism too but we should be sure that the same function is being overloaded or is a function of abstract class or
something like this, since we are not sure about all these, we can’t say whether it can show polymorphism or not.

7. In case of using abstract class or function overloading, which function is supposed to be called first?
a) Local function
b) Function with highest priority in compiler
c) Global function
d) Function with lowest priority because it might have been halted since long time, because of low priority

Answer: b
Explanation: Function with highest priority is called. Here, it’s not about the thread scheduling in CPU, but it focuses on
whether the function in local scope is present or not, or if scope resolution is used in some way, or if the function matches
the argument signature. So all these things define which function has the highest priority to be called in runtime. Local
function could be one of the answer but we can’t say if someone have used pointer to another function or same function
name.

8. Which among the following can’t be used for polymorphism?


a) Static member functions
b) Member functions overloading
c) Predefined operator overloading
d) Constructor overloading

Answer: a
Explanation: Static member functions are not property of any object. Hence it can’t be considered for
overloading/overriding. For polymorphism, function must be property of object, not only of class.

9. What is output of the following program?

class student
{
public : int marks;
void disp()
{
cout<<”its base class”
};
class topper:public student
{
public :
void disp()
{
cout<<”Its derived class”;
}
}
void main() { student s; topper t;
s.disp();
t.disp();
}

a) Its base classIts derived class


b) Its base class Its derived class
c) Its derived classIts base class
d) Its derived class Its base class

Downloaded from: https://cse-r17.blogspot.com 18


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: a
Explanation: You need to focus on how the output is going to be shown, no space will be given after first message from
base class. And then the message from derived class will be printed. Function disp() in base class overrides the function of
base class being derived.

10. Which among the following can show polymorphism?


a) Overloading ||
b) Overloading +=
c) Overloading <<
d) Overloading &&

Answer: c
Explanation: Only insertion operator can be overloaded among all the given options. And the polymorphism can be
illustrated here only if any of these is applicable of being overloaded. Overloading is type of polymorphism.

11. Find the output of the following program.


class education
{
char name[10];
public : disp()
{
cout<<”Its education system”;
}
class school:public education
{
public: void dsip()
{
cout<<”Its school education system”;
}
};
void main()
{
school s;
s.disp();
}
}

a) Its school education system


b) Its education system
c) Its school education systemIts education system
d) Its education systemIts school education system

Answer: a
Explanation: Notice that the function name in derived class is different from the function name in base class. Hence when
we call the disp() function, base class function is executed. No polymorphism is used here.

12. Polymorphism is possible in C language.


a) True
b) False

Answer: a
Explanation: It is possible to implement polymorphism in C language, even though it doesn’t support class. We can use
structures and then declare pointers which in turn points to some function. In this way we simulate the functions like
member functions but not exactly member function. Now we can overload these functions, hence implementing
polymorphism in C language.

13. Which problem may arise if we use abstract class functions for polymorphism?
a) All classes are converted as abstract class
b) Derived class must be of abstract type
c) All the derived classes must implement the undefined functions
d) Derived classes can’t redefine the function

Answer: c
Explanation: The undefined functions must be defined is a problem, because one may need to implement few undefined

Downloaded from: https://cse-r17.blogspot.com 19


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

functions from abstract class, but he will have to define each of the functions declared in abstract class. Being useless task,
it is a problem sometimes.

14. Which among the following is not true for polymorphism?


a) It is feature of OOP
b) Ease in readability of program
c) Helps in redefining the same functionality
d) Increases overhead of function definition always

Answer: d
Explanation: It never increases function definition overhead, one way or another if you don’t use polymorphism, you will
use the definition in some other way, so it actually helps to write efficient codes.

15. If 2 classes derive one base class and redefine a function of base class, also overload some operators inside class body.
Among these two things of function and operator overloading, where is polymorphism used?
a) Function overloading only
b) Operator overloading only
c) Both of these are using polymorphism
d) Either function overloading or operator overloading because polymorphism can be applied only once in a program

Answer: d
Explanation: Both of them are using polymorphism. It is not necessary that polymorphism can be used only once in a
program, it can be used anywhere, any number of times in a single program.

TOPIC 1.8 OOP IN JAVA

1. Which of the following is not OOPS concept in Java?


a) Inheritance
b) Encapsulation
c) Polymorphism
d) Compilation

Answer: d
Explanation: There are 4 OOPS concepts in Java. Inheritance, Encapsulation, Polymorphism and Abstraction.

2. Which of the following is a type of polymorphism in Java?


a) Compile time polymorphism
b) Execution time polymorphism
c) Multiple polymorphism
d) Multilevel polymorphism

Answer: a
Explanation: There are two types of polymorphism in Java. Compile time polymorphism (overloading) and runtime
polymorphism (overriding).

3. When does method overloading is determined?


a) At run time
b) At compile time
c) At coding time
d) At execution time

Answer: b
Explanation: Overloading is determined at compile time. Hence, it is also known as compile time polymorphism.

4. When Overloading does not occur?


a) More than one method with same name but different method signature and different number or type of parameters
b) More than one method with same name, same signature but different number of signature
c) More than one method with same name, same signature, same number of parameters but different type
d) More than one method with same name, same number of parameters and type but different signature

Answer: d
Explanation: Overloading occurs when more than one method with same name but different constructor and also when

Downloaded from: https://cse-r17.blogspot.com 20


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

same signature but different number of parameters and/or parameter type.

5. Which concept of Java is a way of converting real world objects in terms of class?
a) Polymorphism
b) Encapsulation
c) Abstraction
d) Inheritance

Answer: c
Explanation: Abstraction is the concept of defining real world objects in terms of classes or interfaces.

6. Which concept of Java is achieved by combining methods and attribute into a class?
a) Encapsulation
b) Inheritance
c) Polymorphism
d) Abstraction

Answer: a
Explanation: Encapsulation is implemented by combining methods and attribute into a class. The class acts like a
container of encapsulating properties.

7. What is it called if an object has its own lifecycle and there is no owner?
a) Aggregation
b) Composition
c) Encapsulation
d) Association

Answer: d
Explanation: It is a relationship where all objects have their own lifecycle and there is no owner. This occurs where many
to many relationships are available, instead of one to one or one to many.

8. What is it called where child object gets killed if parent object is killed?
a) Aggregation
b) Composition
c) Encapsulation
d) Association

Answer: b
Explanation: Composition occurs when child object gets killed if parent object gets killed. Aggregation is also known as
strong Aggregation.

9. What is it called where object has its own lifecycle and child object cannot belong to another parent object?
a) Aggregation
b) Composition
c) Encapsulation
d) Association

Answer: a
Explanation: Aggregation occurs when objects have their own life cycle and child object can associate with only one
parent object.

10. Method overriding is combination of inheritance and polymorphism?


a) True
b) false

Answer: a
Explanation: In order for method overriding, method with same signature in both superclass and subclass is required with
same signature. That satisfies both concepts inheritance and polymorphism.

TOPIC 1.9 CHARACTERISTICS OF JAVA

Downloaded from: https://cse-r17.blogspot.com 21


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

1. Which of the following is not introduced with Java 8?


a) Stream API
b) Serialization
c) Spliterator
d) Lambda Expression

Answer: b
Explanation: Serialization is not introduced with Java 8. It was introduced with an earlier version of Java.

2. What is the purpose of BooleanSupplier function interface?


a) represents supplier of Boolean-valued results
b) returns Boolean-valued result
c) There is no such function interface
d) returns null if Boolean is passed as argument

Answer: a
Explanation: BooleanSupplier function interface represents supplier of Boolean-valued results.

3. What is the return type of lambda expression?


a) String
b) Object
c) void
d) Function

Answer: d
Explanation: Lambda expression enables us to pass functionality as an argument to another method, such as what action
should be taken when someone clicks a button.

4. Which is the new method introduced in java 8 to iterate over a collection?


a) for (String i : StringList)
b) foreach (String i : StringList)
c) StringList.forEach()
d) List.for()

Answer: c
Explanation: Traversing through forEach method of Iterable with anonymous class.

1. StringList.forEach(new Consumer<Integer>()
2. {
3. public void accept(Integer t)

4. {

5. }

6. });
7. //Traversing with Consumer interface implementation
8. MyConsumer action = new MyConsumer();
9. StringList.forEach(action);
10. }

11. }

5. What are the two types of Streams offered by java 8?


a) sequential and parallel
b) sequential and random
c) parallel and random
d) random and synchronized

Downloaded from: https://cse-r17.blogspot.com 22


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: a
Explanation: Sequential stream and parallel stream are two types of stream provided by java.

1. Stream<Integer> sequentialStream = myList.stream();


2. Stream<Integer> parallelStream = myList.parallelStream();

6. Which feature of java 8 enables us to create a work stealing thread pool using all available processors at its target?
a) workPool
b) newWorkStealingPool
c) threadPool
d) workThreadPool

Answer: b
Explanation: Executors newWorkStealingPool() method to create a work-stealing thread pool using all available
processors as its target parallelism level.

7. What does Files.lines(Path path) do?


a) It reads all the files at the path specified as a String
b) It reads all the lines from a file as a Stream
c) It reads the filenames at the path specified
d) It counts the number of lines for files at the path specified

Answer: b
Explanation: Files.lines(Path path) that reads all lines from a file as a Stream.

8. What is Optional object used for?


a) Optional is used for optional runtime argument
b) Optional is used for optional spring profile
c) Optional is used to represent null with absent value
d) Optional means it’s not mandatory for method to return object

Answer: c
Explanation: Optional object is used to represent null with absent value. This class has various utility methods to facilitate
code to handle values as ‘available’ or ‘not available’ instead of checking null values.

9. What is the substitute of Rhino javascript engine in Java 8?


a) Nashorn
b) V8
c) Inscript
d) Narcissus

Answer: a
Explanation: Nashorn provides 2 to 10 times faster in terms of performance, as it directly compiles the code in memory
and passes the bytecode to JVM. Nashorn uses invoke dynamic feature.

10. What does SAM stand for in the context of Functional Interface?
a) Single Ambivalue Method
b) Single Abstract Method
c) Simple Active Markup
d) Simple Abstract Markup

Answer: b
Explanation: SAM Interface stands for Single Abstract Method Interface. Functional Interface is also known as SAM
Interface because it contains only one abstract method.

TOPIC 1.10 THE JAVA ENVIRONMENT

1. Which object Java application uses to create a new process?


a) Process
b) Builder

Downloaded from: https://cse-r17.blogspot.com 23


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) ProcessBuilder
d) CreateBuilder

Answer: c
Explanation: Java application uses ProcessBuilder object to create a new process. By default, same set of environment
variables passed which are set in application’s virtual machine process.

2. Which of the following is true about Java system properties?


a) Java system properties are accessible by any process
b) Java system properties are accessible by processes they are added to
c) Java system properties are retrieved by System.getenv()
d) Java system properties are set by System.setenv()

Answer: b
Explanation: Java system properties are only used and accessible by the processes they are added.

3. Java system properties can be set at runtime.


a) True
b) False

Answer: a
Explanation: Java system properties can be set at runtime using System.setProperty(name, value) or using
System.getProperties().load() methods.

4. Which system property stores installation directory of JRE?


a) user.home
b) java.class.path
c) java.home
d) user.dir

Answer: c
Explanation: java.home is the installation directory of Java Runtime Environment.

5. What does System.getProperty(“variable”) return?


a) compilation error
b) value stored in variable
c) runtime error
d) null

Answer: d
Explanation: System.getProperty(“variable”) returns null value. Because, variable is not a property and if property does
not exist, this method returns null value.

6. What is true about the setProperties method?


a) setProperties method changes the set of Java Properties which are persistent
b) Changing the system properties within an application will affect future invocations
c) setProperties method changes the set of Java Properties which are not persistent
d) setProperties writes the values directly into the file which stores all the properties

Answer: c
Explanation: The changes made by the setProperties method are not persistent. Hence, it does not affect future invocation.

7. How to use environment properties in the class?


a) @Environment
b) @Variable
c) @Property
d) @Autowired

Answer: d
Explanation:
@Autowired
private Environment env;

Downloaded from: https://cse-r17.blogspot.com 24


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

This is how environment variables are injected in the class where they can be used.

8. How to assign values to variable using property?


a)
@Value("${my.property}")

private String prop;

b)

@Property("${my.property}")

private String prop;

c)
@Environment("${my.property}")

private String prop;

d)
@Env("${my.property}")

private String prop;

Answer: a
Explanation: @Value are used to inject the properties and assign them to variables.

9. Which environment variable is used to set java path?


a) JAVA
b) JAVA_HOME
c) CLASSPATH
d) MAVEN_HOME

Answer: b
Explanation: JAVA_HOME is used to store a path to the java installation.

10. How to read a classpath file?


a) InputStream in = this.getClass().getResource(“SomeTextFile.txt”);
b) InputStream in = this.getClass().getResourceClasspath(“SomeTextFile.txt”);
c) InputStream in = this.getClass().getResourceAsStream(“SomeTextFile.txt”);
d) InputStream in = this.getClass().getResource(“classpath:/SomeTextFile.txt”);

Answer: c
Explanation: This method can be used to load files using relative path to the package of the class.

TOPIC 1.11 JAVA SOURCE - FILE, STRUCTURE, COMPILATION

1. Which component is used to compile, debug and execute java program?


a) JVM
b) JDK
c) JIT
d) JRE

Answer: b
Explanation: JDK is a core component of Java Environment and provides all the tools, executables and binaries required
to compile, debug and execute a Java Program.

2. Which component is responsible for converting bytecode into machine specific code?
a) JVM

Downloaded from: https://cse-r17.blogspot.com 25


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

b) JDK
c) JIT
d) JRE

Answer: a
Explanation: JVM is responsible to converting bytecode to the machine specific code. JVM is also platform dependent
and provides core java functions like garbage collection, memory management, security etc.

3. Which component is responsible to run java program?


a) JVM
b) JDK
c) JIT
d) JRE

Answer: d
Explanation: JRE is the implementation of JVM, it provides platform to execute java programs.

4. Which component is responsible to optimize bytecode to machine code?


a) JVM
b) JDK
c) JIT
d) JRE

Answer: c
Explanation: JIT optimizes bytecode to machine specific language code by compiling similar bytecodes at the same time.
This reduces overall time taken for compilation of bytecode to machine specific language.

5. Which statement is true about java?


a) Platform independent programming language
b) Platform dependent programming language
c) Code dependent programming language
d) Sequence dependent programming language

Answer: a
Explanation: Java is called ‘Platform Independent Language’ as it primarily works on the principle of ‘compile once, run
everywhere’.

6. Which of the below is invalid identifier with the main method?


a) public
b) static
c) private
d) final

Answer: c
Explanation: main method cannot be private as it is invoked by external method. Other identifier are valid with main
method.

7. What is the extension of java code files?


a) .class
b) .java
c) .txt
d) .js

Answer: b
Explanation: Java files have .java extension.

8. What is the extension of compiled java classes?


a) .class
b) .java
c) .txt
d) .js

Downloaded from: https://cse-r17.blogspot.com 26


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: a
Explanation: The compiled java files have .class extension.

9. How can we identify whether a compilation unit is class or interface from a .class file?
a) Java source file header
b) Extension of compilation unit
c) We cannot differentiate between class and interface
d) The class or interface name should be postfixed with unit type

Answer: a
Explanation: The Java source file contains a header that declares the type of class or interface, its visibility with respect to
other classes, its name and any superclass it may extend, or interface it implements.

10. What is use of interpreter?


a) They convert bytecode to machine language code
b) They read high level code and execute them
c) They are intermediated between JIT and JVM
d) It is a synonym for JIT

Answer: b
Explanation: Interpreters read high level language (interprets it) and execute the program. Interpreters are normally not
passing through byte-code and jit compilation.

TOPIC 1.12 DEFINING CLASSES IN JAVA

This section of our 1000+ Java MCQs focuses on class fundamentals & object declaration in Java Programming Language.

1. What is the stored in the object obj in following lines of Java code?

box obj;

a) Memory address of allocated memory of object


b) NULL
c) Any arbitrary pointer
d) Garbage

Answer: b
Explanation: Memory is allocated to an object using new operator. box obj; just declares a reference to object, no memory
is allocated to it hence it points to NULL.

2. Which of these keywords is used to make a class?


a) class
b) struct
c) int
d) none of the mentioned

Answer: a
Explanation: None.

3. Which of the following is a valid declaration of an object of class Box?


a) Box obj = new Box();
b) Box obj = new Box;
c) obj = new Box();
d) new Box obj;

Answer: a
Explanation: None.

4. Which of these operators is used to allocate memory for an object?


a) malloc
b) alloc

Downloaded from: https://cse-r17.blogspot.com 27


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) new
d) give

Answer: c
Explanation: Operator new dynamically allocates memory for an object and returns a reference to it. This reference is
address in memory of the object allocated by new.

5. Which of these statement is incorrect?


a) Every class must contain a main() method
b) Applets do not require a main() method at all
c) There can be only one main() method in a program
d) main() method must be made public

Answer: a
Explanation: Every class does not need to have a main() method, there can be only one main() method which is made
public.

6. What will be the output of the following Java program?

1. class main_class

2. {

3. public static void main(String args[])

4. {

5. int x = 9;

6. if (x == 9)

7. {

8. int x = 8;

9. System.out.println(x);

10. }

11. }

12. }

a) 9
b) 8
c) Compilation error
d) Runtime error

Answer: c
Explanation: Two variables with the same name can’t be created in a class.
output:
$ javac main_class.java
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Duplicate local variable x

7. Which of the following statements is correct?


a) Public method is accessible to all other classes in the hierarchy
b) Public method is accessible only to subclasses of its parent class
c) Public method can only be called by object of its class
d) Public method can be accessed by calling object of the public class

Answer: a
Explanation: None.

8. What will be the output of the following Java program?

Downloaded from: https://cse-r17.blogspot.com 28


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

1. class box

2. {

3. int width;

4. int height;

5. int length;

6. }

7. class mainclass

8. {

9. public static void main(String args[])

10. {

11. box obj = new box();

12. obj.width = 10;

13. obj.height = 2;

14. obj.length = 10;

15. int y = obj.width * obj.height * obj.length;

16. System.out.print(y);

17. }

18. }

a) 12
b) 200
c) 400
d) 100

Answer: b
Explanation: None.
output:
$ javac mainclass.java
$ java mainclass
200

9. What will be the output of the following Java program?

1. class box

2. {

3. int width;

4. int height;

5. int length;

6. }

7. class mainclass

8. {

9. public static void main(String args[])

10. {

Downloaded from: https://cse-r17.blogspot.com 29


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

11. box obj1 = new box();

12. box obj2 = new box();

13. obj1.height = 1;

14. obj1.length = 2;

15. obj1.width = 1;

16. obj2 = obj1;

17. System.out.println(obj2.height);

18. }

19. }

a) 1
b) 2
c) Runtime error
d) Garbage value

Answer: a
Explanation: When we assign an object to another object of same type, all the elements of right side object gets copied to
object on left side of equal to, =, operator.
output:
$ javac mainclass.java
$ java mainclass
1

10. What will be the output of the following Java program?

1. class box

2. {

3. int width;

4. int height;

5. int length;

6. }

7. class mainclass

8. {

9. public static void main(String args[])

10. {

11. box obj = new box();

12. System.out.println(obj);

13. }

14. }

a) 0
b) 1
c) Runtime error
d) [email protected] in hexadecimal form

Answer: d
Explanation: When we print object internally toString() will be called to return string into this format [email protected] in

Downloaded from: https://cse-r17.blogspot.com 30


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

hexadecimal form.
output:
$ javac mainclass.java
$ java mainclass
[email protected]

TOPIC 1.13 CONSTRUCTORS

1. What is true about private constructor?


a) Private constructor ensures only one instance of a class exist at any point of time
b) Private constructor ensures multiple instances of a class exist at any point of time
c) Private constructor eases the instantiation of a class
d) Private constructor allows creating objects in other classes

Answer: a
Explanation: Object of private constructor can only be created within class. Private constructor is used in singleton
pattern.

2. What would be the behaviour if this() and super() used in a method?


a) Runtime error
b) Throws exception
c) compile time error
d) Runs successfully

Answer: c
Explanation: this() and super() cannot be used in a method. This throws compile time error.

3. What is false about constructor?


a) Constructors cannot be synchronized in Java
b) Java does not provide default copy constructor
c) Constructor can have a return type
d) “this” and “super” can be used in a constructor

Answer: c
Explanation: The constructor cannot have a return type. It should create and return new objects. Hence it would give a
compilation error.

4. What is true about Class.getInstance()?


a) Class.getInstance calls the constructor
b) Class.getInstance is same as new operator
c) Class.getInstance needs to have matching constructor
d) Class.getInstance creates object if class does not have any constructor

Answer: d
Explanation: Class class provides list of methods for use like getInstance().

5. What is true about constructor?


a) It can contain return type
b) It can take any number of parameters
c) It can have any non access modifiers
d) Constructor cannot throw an exception

Answer: b
Explanation: Constructor returns a new object with variables defined as in the class. Instance variables are newly created
and only one copy of static variables are created.

6. Abstract class cannot have a constructor.


a) True
b) False

Answer: b
Explanation: No instance can be created of abstract class. Only pointer can hold instance of object.

Downloaded from: https://cse-r17.blogspot.com 31


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

7. What is true about protected constructor?


a) Protected constructor can be called directly
b) Protected constructor can only be called using super()
c) Protected constructor can be used outside package
d) protected constructor can be instantiated even if child is in a different package

Answer: b
Explanation: Protected access modifier means that constructor can be accessed by child classes of the parent class and
classes in the same package.

8. What is not the use of “this” keyword in Java?


a) Passing itself to another method
b) Calling another constructor in constructor chaining
c) Referring to the instance variable when local variable has the same name
d) Passing itself to method of the same class

Answer: d
Explanation: “this” is an important keyword in java. It helps to distinguish between local variable and variables passed in
the method as parameters.

9. What would be the behaviour if one parameterized constructor is explicitly defined?


a) Compilation error
b) Compilation succeeds
c) Runtime error
d) Compilation succeeds but at the time of creating object using default constructor, it throws compilation error

Answer: d
Explanation: The class compiles successfully. But the object creation of that class gives a compilation error.

10. What would be behaviour if the constructor has a return type?


a) Compilation error
b) Runtime error
c) Compilation and runs successfully
d) Only String return type is allowed

Answer: a
Explanation: The constructor cannot have a return type. It should create and return new object. Hence it would give
compilation error.

TOPIC 1.14 METHODS

This section of our 1000+ Java MCQs focuses on overloading methods & argument passing in Java Programming
Language.

1. What is the process of defining two or more methods within same class that have same name but different parameters
declaration?
a) method overloading
b) method overriding
c) method hiding
d) none of the mentioned

Answer: a
Explanation: Two or more methods can have same name as long as their parameters declaration is different, the methods
are said to be overloaded and process is called method overloading. Method overloading is a way by which Java
implements polymorphism.

2. Which of these can be overloaded?


a) Methods
b) Constructors
c) All of the mentioned
d) None of the mentioned

Downloaded from: https://cse-r17.blogspot.com 32


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: None.

3. Which of these is correct about passing an argument by call-by-value process?


a) Copy of argument is made into the formal parameter of the subroutine
b) Reference to original argument is passed to formal parameter of the subroutine
c) Copy of argument is made into the formal parameter of the subroutine and changes made on parameters of subroutine
have effect on original argument
d) Reference to original argument is passed to formal parameter of the subroutine and changes made on parameters of
subroutine have effect on original argument

Answer: a
Explanation: When we pass an argument by call-by-value a copy of argument is made into the formal parameter of the
subroutine and changes made on parameters of subroutine have no effect on original argument, they remain the same.

4. What is the process of defining a method in terms of itself, that is a method that calls itself?
a) Polymorphism
b) Abstraction
c) Encapsulation
d) Recursion

Answer: d
Explanation: None.

5. What will be the output of the following Java code?

1. class San
2. {
3. public void m1 (int i,float f)
4. {
5. System.out.println(" int float method");

6. }
7.
8. public void m1(float f,int i);
9. {

10. System.out.println("float int method");

11. }

12.
13. public static void main(String[]args)

14. {

15. San s=new San();

16. s.m1(20,20);

17. }

18. }

a) int float method


b) float int method
c) compile time error
d) run time error

Downloaded from: https://cse-r17.blogspot.com 33


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: While resolving overloaded method, compiler automatically promotes if exact match is not found. But in
this case, which one to promote is an ambiguity.

6. What will be the output of the following Java code?

1. class overload

2. {

3. int x;

4. int y;

5. void add(int a)

6. {

7. x = a + 1;

8. }

9. void add(int a, int b)

10. {

11. x = a + 2;

12. }

13. }

14. class Overload_methods

15. {

16. public static void main(String args[])

17. {

18. overload obj = new overload();

19. int a = 0;

20. obj.add(6);

21. System.out.println(obj.x);

22. }

23. }

a) 5
b) 6
c) 7
d) 8

Answer: c
Explanation: None.
output:
$ javac Overload_methods.java
$ java Overload_methods
7

7. What will be the output of the following Java code?

1. class overload

Downloaded from: https://cse-r17.blogspot.com 34


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

2. {

3. int x;

4. int y;

5. void add(int a)

6. {

7. x = a + 1;

8. }

9. void add(int a , int b)

10. {

11. x = a + 2;

12. }

13. }

14. class Overload_methods

15. {

16. public static void main(String args[])

17. {

18. overload obj = new overload();

19. int a = 0;

20. obj.add(6, 7);

21. System.out.println(obj.x);

22. }

23. }

a) 6
b) 7
c) 8
d) 9

Answer: c
Explanation: None.
output:
$ javac Overload_methods.java
$ java Overload_methods
8

8. What will be the output of the following Java code?

1. class overload

2. {

3. int x;

4. double y;

5. void add(int a , int b)

6. {

Downloaded from: https://cse-r17.blogspot.com 35


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

7. x = a + b;

8. }

9. void add(double c , double d)

10. {

11. y = c + d;

12. }

13. overload()

14. {

15. this.x = 0;

16. this.y = 0;

17. }

18. }

19. class Overload_methods

20. {

21. public static void main(String args[])

22. {

23. overload obj = new overload();

24. int a = 2;

25. double b = 3.2;

26. obj.add(a, a);

27. obj.add(b, b);

28. System.out.println(obj.x + " " + obj.y);

29. }

30. }

a) 6 6
b) 6.4 6.4
c) 6.4 6
d) 4 6.4

Answer: d
Explanation: For obj.add(a,a); ,the function in line number 4 gets executed and value of x is 4. For the next function call,
the function in line number 7 gets executed and value of y is 6.4
output:
$ javac Overload_methods.java
$ java Overload_methods
4 6.4

9. What will be the output of the following Java code?

1. class test

2. {

3. int a;

Downloaded from: https://cse-r17.blogspot.com 36


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

4. int b;

5. void meth(int i , int j)

6. {

7. i *= 2;

8. j /= 2;

9. }

10. }

11. class Output

12. {

13. public static void main(String args[])

14. {

15. test obj = new test();

16. int a = 10;

17. int b = 20;

18. obj.meth(a , b);

19. System.out.println(a + " " + b);

20. }

21. }

a) 10 20
b) 20 10
c) 20 40
d) 40 20

Answer: a
Explanation: Variables a & b are passed by value, copy of their values are made on formal parameters of function meth()
that is i & j. Therefore changes done on i & j are not reflected back on original arguments. a & b remain 10 & 20
respectively.
output:
$ javac Output.java
$ java Output
10 20

10. What will be the output of the following Java code?

1. class test

2. {

3. int a;

4. int b;

5. test(int i, int j)

6. {

7. a = i;

8. b = j;

9. }

Downloaded from: https://cse-r17.blogspot.com 37


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

10. void meth(test o)

11. {

12. o.a *= 2;

13. O.b /= 2;

14. }

15. }

16. class Output

17. {

18. public static void main(String args[])

19. {

20. test obj = new test(10 , 20);

21. obj.meth(obj);

22. System.out.println(obj.a + " " + obj.b);

23. }

24. }

a) 10 20
b) 20 10
c) 20 40
d) 40 20

Answer: b
Explanation: Class objects are always passed by reference, therefore changes done are reflected back on original
arguments. obj.meth(obj) sends object obj as parameter whose variables a & b are multiplied and divided by 2 respectively
by meth() function of class test. a & b becomes 20 & 10 respectively.
output:
$ javac Output.java
$ java Output
20 10

TOPIC 1.15 ACCESS SPECIFIERS

This section of our 1000+ Java MCQs focuses on access control of Java Programming Language.

1. Which of these access specifiers must be used for main() method?


a) private
b) public
c) protected
d) none of the mentioned

Answer: b
Explanation: main() method must be specified public as it called by Java run time system, outside of the program. If no
access specifier is used then by default member is public within its own package & cannot be accessed by Java run time
system.

2. Which of these is used to access a member of class before object of that class is created?
a) public
b) private
c) static
d) protected

Downloaded from: https://cse-r17.blogspot.com 38


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: None.

3. Which of these is used as a default for a member of a class if no access specifier is used for it?
a) private
b) public
c) public, within its own package
d) protected

Answer: a
Explanation: When we pass an argument by call-by-value a copy of argument is made into the formal parameter of the
subroutine and changes made on parameters of subroutine have no effect on original argument, they remain the same.

4. What is the process by which we can control what parts of a program can access the members of a class?
a) Polymorphism
b) Abstraction
c) Encapsulation
d) Recursion

Answer: c
Explanation: None.

5. Which of the following statements are incorrect?


a) public members of class can be accessed by any code in the program
b) private members of class can only be accessed by other members of the class
c) private members of class can be inherited by a subclass, and become protected members in subclass
d) protected members of a class can be inherited by a subclass, and become private members of the subclass

Answer: c
Explanation: private members of a class can not be inherited by a subclass.

6. What will be the output of the following Java code?

1. class access

2. {

3. public int x;

4. private int y;

5. void cal(int a, int b)

6. {

7. x = a + 1;

8. y = b;

9. }

10. }

11. public class access_specifier

12. {

13. public static void main(String args[])

14. {

15. access obj = new access();

16. obj.cal(2, 3);

17. System.out.println(obj.x + " " + obj.y);

Downloaded from: https://cse-r17.blogspot.com 39


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

18. }

19. }

a) 3 3
b) 2 3
c) Runtime Error
d) Compilation Error

Answer: c
Explanation: None.
output:
$ javac access_specifier.java
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The field access.y is not visible

7. What will be the output of the following Java code?

1. class access

2. {

3. public int x;

4. private int y;

5. void cal(int a, int b)

6. {

7. x = a + 1;

8. y = b;

9. }

10. void print()

11. {

12. System.out.println(" " + y);

13. }

14. }

15. public class access_specifier

16. {

17. public static void main(String args[])

18. {

19. access obj = new access();

20. obj.cal(2, 3);

21. System.out.println(obj.x);

22. obj.print();

23. }

24. }

a) 2 3
b) 3 3

Downloaded from: https://cse-r17.blogspot.com 40


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Runtime Error
d) Compilation Error

Answer: b
Explanation: None.
output:
$ javac access_specifier.java
$ java access_specifier
3 3

8. What will be the output of the following Java code?

1. class static_out

2. {

3. static int x;

4. static int y;

5. void add(int a, int b)

6. {

7. x = a + b;

8. y = x + b;

9. }

10. }

11. public class static_use

12. {

13. public static void main(String args[])

14. {

15. static_out obj1 = new static_out();

16. static_out obj2 = new static_out();

17. int a = 2;

18. obj1.add(a, a + 1);

19. obj2.add(5, a);

20. System.out.println(obj1.x + " " + obj2.y);

21. }

22. }

a) 7 7.4
b) 6 6.4
c) 7 9
d) 9 7

Answer: c
Explanation: None.
output:
$ javac static_use.java
$ java static_use
7 9

Downloaded from: https://cse-r17.blogspot.com 41


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

9. Which of these access specifier must be used for class so that it can be inherited by another subclass?
a) public
b) private
c) protected
d) none of the mentioned

Answer: a
Explanation: None.

TOPIC 1.16 STATIC MEMBER

1. Arrays in Java are implemented as?


a) class
b) object
c) variable
d) none of the mentioned

Answer: b
Explanation: None.

2. Which of these keywords is used to prevent content of a variable from being modified?
a) final
b) last
c) constant
d) static

Answer: a
Explanation: A variable can be declared final, doing so prevents its content from being modified. Final variables must be
initialized when it is declared.

3. Which of these cannot be declared static?


a) class
b) object
c) variable
d) method

Answer: b
Explanation: static statements are run as soon as class containing then is loaded, prior to any object declaration.

4. Which of the following statements are incorrect?


a) static methods can call other static methods only
b) static methods must only access static data
c) static methods can not refer to this or super in any way
d) when object of class is declared, each object contains its own copy of static variables

Answer: d
Explanation: All objects of class share same static variable, when object of a class are declared, all the objects share same
copy of static members, no copy of static variables are made.

5. Which of the following statements are incorrect?


a) Variables declared as final occupy memory
b) final variable must be initialized at the time of declaration
c) Arrays in java are implemented as an object
d) All arrays contain an attribute-length which contains the number of elements stored in the array

Answer: a
Explanation: None.

6. Which of these methods must be made static?


a) main()
b) delete()

Downloaded from: https://cse-r17.blogspot.com 42


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) run()
d) finalize()

Answer: a
Explanation: main() method must be declared static, main() method is called by Java runtime system before any object of
any class exists.

7. What will be the output of the following Java program?

1. class access

2. {

3. public int x;

4. static int y;

5. void cal(int a, int b)

6. {

7. x += a ;

8. y += b;

9. }

10. }

11. class static_specifier

12. {

13. public static void main(String args[])

14. {

15. access obj1 = new access();

16. access obj2 = new access();

17. obj1.x = 0;

18. obj1.y = 0;

19. obj1.cal(1, 2);

20. obj2.x = 0;

21. obj2.cal(2, 3);

22. System.out.println(obj1.x + " " + obj2.y);

23. }

24. }

a) 1 2
b) 2 3
c) 3 2
d) 1 5

Answer: d
Explanation: None.
output:
$ javac static_specifier.java
$ java static_specifier
1 5

Downloaded from: https://cse-r17.blogspot.com 43


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

8. What will be the output of the following Java program?

1. class access

2. {

3. static int x;

4. void increment()

5. {

6. x++;

7. }

8. }

9. class static_use

10. {

11. public static void main(String args[])

12. {

13. access obj1 = new access();

14. access obj2 = new access();

15. obj1.x = 0;

16. obj1.increment();

17. obj2.increment();

18. System.out.println(obj1.x + " " + obj2.x);

19. }

20. }

a) 1 2
b) 1 1
c) 2 2
d) Compilation Error

Answer: c
Explanation: All objects of class share same static variable, all the objects share same copy of static members, obj1.x and
obj2.x refer to same element of class which has been incremented twice and its value is 2.
output:
$ javac static_use.java
$ java static_use
2 2

9. What will be the output of the following Java program?

1. class static_out

2. {

3. static int x;

4. static int y;

5. void add(int a , int b)

6. {

Downloaded from: https://cse-r17.blogspot.com 44


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

7. x = a + b;

8. y = x + b;

9. }

10. }

11. class static_use

12. {

13. public static void main(String args[])

14. {

15. static_out obj1 = new static_out();

16. static_out obj2 = new static_out();

17. int a = 2;

18. obj1.add(a, a + 1);

19. obj2.add(5, a);

20. System.out.println(obj1.x + " " + obj2.y);

21. }

22. }

a) 7 7
b) 6 6
c) 7 9
d) 9 7

Answer: c
Explanation: None.
output:
$ javac static_use.java
$ java static_use
7 9

10. What will be the output of the following Java program?

1. class Output

2. {

3. public static void main(String args[])

4. {

5. int arr[] = {1, 2, 3, 4, 5};

6. for ( int i = 0; i < arr.length - 2; ++i)

7. System.out.println(arr[i] + " ");

8. }

9. }

a) 1 2
b) 1 2 3
c) 1 2 3 4
d) 1 2 3 4 5

Downloaded from: https://cse-r17.blogspot.com 45


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: b
Explanation: arr.length() is 5, so the loop is executed for three times.
output:
$ javac Output.java
$ java Output
1 2 3

11. What will be the output of the following Java program?

1. class Output

2. {

3. public static void main(String args[])

4. {

5. int a1[] = new int[10];

6. int a2[] = {1, 2, 3, 4, 5};

7. System.out.println(a1.length + " " + a2.length);

8. }

9. }

a) 10 5
b) 5 10
c) 0 10
d) 0 5

Answer: a
Explanation: Arrays in java are implemented as objects, they contain an attribute that is length which contains the number
of elements that can be stored in the array. Hence a1.length gives 10 and a2.length gives 5.
output:
$ javac Output.java
$ java Output
10 5

TOPIC 1.17 COMMENTS, DATA TYPES

This Section of our 1000+ Java MCQs focuses on Integer and Floating Datatypes of Java Programming Language.

1. What is the range of short data type in Java?


a) -128 to 127
b) -32768 to 32767
c) -2147483648 to 2147483647
d) None of the mentioned

Answer: b
Explanation: Short occupies 16 bits in memory. Its range is from -32768 to 32767.

2. What is the range of byte data type in Java?


a) -128 to 127
b) -32768 to 32767
c) -2147483648 to 2147483647
d) None of the mentioned

Answer: a
Explanation: Byte occupies 8 bits in memory. Its range is from -128 to 127.

3. Which of the following are legal lines of Java code?

Downloaded from: https://cse-r17.blogspot.com 46


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

1. int w = (int)888.8;
2. byte x = (byte)100L;
3. long y = (byte)100;
4. byte z = (byte)100L;

a) 1 and 2
b) 2 and 3
c) 3 and 4
d) All statements are correct

Answer: d
Explanation: Statements (1), (2), (3), and (4) are correct. (1) is correct because when a floating-point number (a double in
this case) is cast to an int, it simply loses the digits after the decimal. (2) and (4) are correct because a long can be cast into
a byte. If the long is over 127, it loses its most significant (leftmost) bits. (3) actually works, even though a cast is not
necessary, because a long can store a byte.

4. An expression involving byte, int, and literal numbers is promoted to which of these?
a) int
b) long
c) byte
d) float

Answer: a
Explanation: An expression involving bytes, ints, shorts, literal numbers, the entire expression is promoted to int before
any calculation is done.

5. Which of these literals can be contained in float data type variable?


a) -1.7e+308
b) -3.4e+038
c) +1.7e+308
d) -3.4e+050

Answer: b
Explanation: Range of float data type is -(3.4e38) To +(3.4e38)

6. Which data type value is returned by all transcendental math functions?


a) int
b) float
c) double
d) long

Answer: c
Explanation: None.

7. What will be the output of the following Java code?

1. class average {

2. public static void main(String args[])

3. {

4. double num[] = {5.5, 10.1, 11, 12.8, 56.9, 2.5};

5. double result;

6. result = 0;

7. for (int i = 0; i < 6; ++i)

8. result = result + num[i];

9. System.out.print(result/6);

10.

Downloaded from: https://cse-r17.blogspot.com 47


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

11. }

12. }

a) 16.34
b) 16.566666644
c) 16.46666666666667
d) 16.46666666666666

Answer: c
Explanation: None.
output:
$ javac average.java
$ java average
16.46666666666667

8. What will be the output of the following Java statement?

1. class output {
2. public static void main(String args[])

3. {

4. double a, b,c;

5. a = 3.0/0;

6. b = 0/4.0;

7. c=0/0.0;

8.
9. System.out.println(a);

10. System.out.println(b);

11. System.out.println(c);

12. }

13. }

a) Infinity
b) 0.0
c) NaN
d) all of the mentioned

Answer: d
Explanation: For floating point literals, we have constant value to represent (10/0.0) infinity either positive or negative
and also have NaN (not a number for undefined like 0/0.0), but for the integral type, we don’t have any constant that’s why
we get an arithmetic exception.

9. What will be the output of the following Java code?

1. class increment {

2. public static void main(String args[])

3. {

4. int g = 3;

5. System.out.print(++g * 8);

6. }

Downloaded from: https://cse-r17.blogspot.com 48


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

7. }

a) 25
b) 24
c) 32
d) 33

Answer: c
Explanation: Operator ++ has more preference than *, thus g becomes 4 and when multiplied by 8 gives 32.
output:
$ javac increment.java
$ java increment
32

10. What will be the output of the following Java code?

1. class area {

2. public static void main(String args[])

3. {

4. double r, pi, a;

5. r = 9.8;

6. pi = 3.14;

7. a = pi * r * r;

8. System.out.println(a);

9. }

10. }

a) 301.5656
b) 301
c) 301.56
d) 301.56560000

Answer: a
Explanation: None.
output:
$ javac area.java
$ java area
301.5656

TOPIC 1.18 VARIABLES, OPERATORS

This Section of our 1000+ Java MCQs focuses on Character and Boolean Datatypes of Java Programming Language.

1. What is the numerical range of a char data type in Java?


a) -128 to 127
b) 0 to 256
c) 0 to 32767
d) 0 to 65535

Answer: d
Explanation: Char occupies 16-bit in memory, so it supports 216 i:e from 0 to 65535.

2. Which of these coding types is used for data type characters in Java?
a) ASCII

Downloaded from: https://cse-r17.blogspot.com 49


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

b) ISO-LATIN-1
c) UNICODE
d) None of the mentioned

Answer: c
Explanation: Unicode defines fully international character set that can represent all the characters found in all human
languages. Its range is from 0 to 65536.

3. Which of these values can a boolean variable contain?


a) True & False
b) 0 & 1
c) Any integer value
d) true

Answer: a
Explanation: Boolean variable can contain only one of two possible values, true and false.

4. Which of these occupy first 0 to 127 in Unicode character set used for characters in Java?
a) ASCII
b) ISO-LATIN-1
c) None of the mentioned
d) ASCII and ISO-LATIN1

Answer: d
Explanation: First 0 to 127 character set in Unicode are same as those of ISO-LATIN-1 and ASCII.

5. Which one is a valid declaration of a boolean?


a) boolean b1 = 1;
b) boolean b2 = ‘false’;
c) boolean b3 = false;
d) boolean b4 = ‘true’

Answer: c
Explanation: Boolean can only be assigned true or false literals.

6. What will be the output of the following Java program?

1. class array_output {

2. public static void main(String args[])

3. {

4. char array_variable [] = new char[10];

5. for (int i = 0; i < 10; ++i) {

6. array_variable[i] = 'i';

7. System.out.print(array_variable[i] + "" );

8. i++;

9. }

10. }

11. }

a) i i i i i
b) 0 1 2 3 4
c) i j k l m
d) None of the mentioned

Downloaded from: https://cse-r17.blogspot.com 50


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: a
Explanation: None.
output:
$ javac array_output.java
$ java array_output
i i i i i

7. What will be the output of the following Java program?

1. class mainclass {

2. public static void main(String args[])

3. {

4. char a = 'A';

5. a++;

6. System.out.print((int)a);

7. }

8. }

a) 66
b) 67
c) 65
d) 64

Answer: a
Explanation: ASCII value of ‘A’ is 65, on using ++ operator character value increments by one.
output:
$ javac mainclass.java
$ java mainclass
66

8. What will be the output of the following Java program?

1. class mainclass {

2. public static void main(String args[])

3. {

4. boolean var1 = true;

5. boolean var2 = false;

6. if (var1)

7. System.out.println(var1);

8. else

9. System.out.println(var2);

10. }

11. }

a) 0
b) 1
c) true
d) false

Downloaded from: https://cse-r17.blogspot.com 51


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: None.
output:
$ javac mainclass.java
$ java mainclass
true

9. What will be the output of the following Java code?

1. class booloperators {

2. public static void main(String args[])

3. {

4. boolean var1 = true;

5. boolean var2 = false;

6. System.out.println((var1 & var2));

7. }

8. }

a) 0
b) 1
c) true
d) false

Answer: d
Explanation: boolean ‘&’ operator always returns true or false. var1 is defined true and var2 is defined false hence their
‘&’ operator result is false.
output:
$ javac booloperators.java
$ java booloperators
false

10. What will be the output of the following Java code?

1. class asciicodes {

2. public static void main(String args[])

3. {

4. char var1 = 'A';

5. char var2 = 'a';

6. System.out.println((int)var1 + " " + (int)var2);

7. }

8. }

a) 162
b) 65 97
c) 67 95
d) 66 98

Answer: b
Explanation: ASCII code for ‘A’ is 65 and for ‘a’ is 97.
output:

Downloaded from: https://cse-r17.blogspot.com 52


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

$ javac asciicodes.java
$ java asciicodes
65 97

TOPIC 1.19 CONTROL FLOW

This section of our 1000+ Java MCQs focuses on control statements of Java Programming Language.

1. Which of these selection statements test only for equality?


a) if
b) switch
c) if & switch
d) none of the mentioned

Answer: b
Explanation: Switch statements checks for equality between the controlling variable and its constant cases.

2. Which of these are selection statements in Java?


a) if()
b) for()
c) continue
d) break

Answer: a
Explanation: Continue and break are jump statements, and for is a looping statement.

3. Which of the following loops will execute the body of loop even when condition controlling the loop is initially false?
a) do-while
b) while
c) for
d) none of the mentioned

Answer: a
Explanation: None.

4. Which of these jump statements can skip processing the remainder of the code in its body for a particular iteration?
a) break
b) return
c) exit
d) continue

Answer: d
Explanation: None.

5. Which of this statement is incorrect?


a) switch statement is more efficient than a set of nested ifs
b) two case constants in the same switch can have identical values
c) switch statement can only test for equality, whereas if statement can evaluate any type of boolean expression
d) it is possible to create a nested switch statements

Answer: b
Explanation: No two case constants in the same switch can have identical values.

6. What will be the output of the following Java program?

1. class selection_statements

2. {

3. public static void main(String args[])

4. {

Downloaded from: https://cse-r17.blogspot.com 53


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

5. int var1 = 5;

6. int var2 = 6;

7. if ((var2 = 1) == var1)

8. System.out.print(var2);

9. else

10. System.out.print(++var2);

11. }

12. }

a) 1
b) 2
c) 3
d) 4

Answer: b
Explanation: var2 is initialised to 1. The conditional statement returns false and the else part gets executed.
output:
$ javac selection_statements.java
$ java selection_statements
2

7. What will be the output of the following Java program?

1. class comma_operator

2. {

3. public static void main(String args[])

4. {

5. int sum = 0;

6. for (int i = 0, j = 0; i < 5 & j < 5; ++i, j = i + 1)

7. sum += i;

8. System.out.println(sum);

9. }

10. }

a) 5
b) 6
c) 14
d) compilation error

Answer: b
Explanation: Using comma operator, we can include more than one statement in the initialization and iteration portion of
the for loop. Therefore both ++i and j = i + 1 is executed i gets the value – 0,1,2,3,4 & j gets the values -0,1,2,3,4,5.
output:
$ javac comma_operator.java
$ java comma_operator
6

8. What will be the output of the following Java program?

1. class jump_statments

Downloaded from: https://cse-r17.blogspot.com 54


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

2. {

3. public static void main(String args[])

4. {

5. int x = 2;

6. int y = 0;

7. for ( ; y < 10; ++y)

8. {

9. if (y % x == 0)

10. continue;

11. else if (y == 8)

12. break;

13. else

14. System.out.print(y + " ");

15. }

16. }

17. }

a) 1 3 5 7
b) 2 4 6 8
c) 1 3 5 7 9
d) 1 2 3 4 5 6 7 8 9

Answer: c
Explanation: Whenever y is divisible by x remainder body of loop is skipped by continue statement, therefore if condition
y == 8 is never true as when y is 8, remainder body of loop is skipped by continue statements of first if. Control comes to
print statement only in cases when y is odd.
output:
$ javac jump_statments.java
$ java jump_statments
1 3 5 7 9

9. What will be the output of the following Java program?

1. class Output
2. {
3. public static void main(String args[])

4. {

5. final int a=10,b=20;

6. while(a<b)

7. {

8.
9. System.out.println("Hello");

10. }

11. System.out.println("World");

Downloaded from: https://cse-r17.blogspot.com 55


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

12.
13. }

14. }

a) Hello
b) run time error
c) Hello world
d) compile time error

Answer: d
Explanation: Every final variable is compile time constant.

10. What will be the output of the following Java program?

1. class Output

2. {

3. public static void main(String args[])

4. {

5. int a = 5;

6. int b = 10;

7. first:

8. {

9. second:

10. {

11. third:

12. {

13. if (a == b >> 1)

14. break second;

15. }

16. System.out.println(a);

17. }

18. System.out.println(b);

19. }

20. }

21. }

a) 5 10
b) 10 5
c) 5
d) 10

Answer: d
Explanation: b >> 1 in if returns 5 which is equal to a i:e 5, therefore body of if is executed and block second is exited.
Control goes to end of the block second executing the last print statement, printing 10.
output:

Downloaded from: https://cse-r17.blogspot.com 56


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

$ javac Output.java
$ java Output
10

TOPIC 1.20 ARRAYS

This section of our 1000+ Java MCQs focuses on Array Data Structure of Java Programming Language.

1. Which of these operators is used to allocate memory to array variable in Java?


a) malloc
b) alloc
c) new
d) new malloc

Answer: c
Explanation: Operator new allocates a block of memory specified by the size of an array, and gives the reference of
memory allocated to the array variable.

2. Which of these is an incorrect array declaration?


a) int arr[] = new int[5]
b) int [] arr = new int[5]
c) int arr[] = new int[5]
d) int arr[] = int [5] new

Answer: d
Explanation: Operator new must be succeeded by array type and array size.

3. What will be the output of the following Java code?


int arr[] = new int [5];
System.out.print(arr);

a) 0
b) value stored in arr[0]
c) 00000
d) Class [email protected] hashcode in hexadecimal form

Answer: d
Explanation: If we trying to print any reference variable internally, toString() will be called which is implemented to
return the String in following form:
[email protected] in hexadecimal form

4. Which of these is an incorrect Statement?


a) It is necessary to use new operator to initialize an array
b) Array can be initialized using comma separated expressions surrounded by curly braces
c) Array can be initialized when they are declared
d) None of the mentioned

Answer: a
Explanation: Array can be initialized using both new and comma separated expressions surrounded by curly braces
example : int arr[5] = new int[5]; and int arr[] = { 0, 1, 2, 3, 4};

5. Which of these is necessary to specify at time of array initialization?


a) Row
b) Column
c) Both Row and Column
d) None of the mentioned

Answer: a
Explanation: None.

6. What will be the output of the following Java code?

Downloaded from: https://cse-r17.blogspot.com 57


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

1. class array_output

2. {

3. public static void main(String args[])

4. {

5. int array_variable [] = new int[10];

6. for (int i = 0; i < 10; ++i)

7. {

8. array_variable[i] = i;

9. System.out.print(array_variable[i] + " ");

10. i++;

11. }

12. }

13. }

a) 0 2 4 6 8
b) 1 3 5 7 9
c) 0 1 2 3 4 5 6 7 8 9
d) 1 2 3 4 5 6 7 8 9 10

Answer: a
Explanation: When an array is declared using new operator then all of its elements are initialized to 0 automatically. for
loop body is executed 5 times as whenever controls comes in the loop i value is incremented twice, first by i++ in body of
loop then by ++i in increment condition of for loop.
output:
$ javac array_output.java
$ java array_output
0 2 4 6 8

7. What will be the output of the following Java code?

1. class multidimention_array

2. {

3. public static void main(String args[])

4. {

5. int arr[][] = new int[3][];

6. arr[0] = new int[1];

7. arr[1] = new int[2];

8. arr[2] = new int[3];

9. int sum = 0;

10. for (int i = 0; i < 3; ++i)

11. for (int j = 0; j < i + 1; ++j)

12. arr[i][j] = j + 1;

13. for (int i = 0; i < 3; ++i)

14. for (int j = 0; j < i + 1; ++j)

Downloaded from: https://cse-r17.blogspot.com 58


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

15. sum + = arr[i][j];

16. System.out.print(sum);

17. }

18. }

a) 11
b) 10
c) 13
d) 14

Answer: b
Explanation: arr[][] is a 2D array, array has been allotted memory in parts. 1st row contains 1 element, 2nd row contains 2
elements and 3rd row contains 3 elements. each element of array is given i + j value in loop. sum contains addition of all
the elements of the array.
output:
$ javac multidimention_array.java
$ java multidimention_array
10

8. What will be the output of the following Java code?

1. class evaluate

2. {

3. public static void main(String args[])

4. {

5. int arr[] = new int[] {0 , 1, 2, 3, 4, 5, 6, 7, 8, 9};

6. int n = 6;

7. n = arr[arr[n] / 2];

8. System.out.println(arr[n] / 2);

9. }

10. }

a) 3
b) 0
c) 6
d) 1

Answer: d
Explanation: Array arr contains 10 elements. n contains 6 thus in next line n is given value 3 printing arr[3]/2 i:e 3/2 = 1
because of int Value, by int values there is no rest. If this values would be float the result would be 1.5.
output:
$ javac evaluate.java
$ java evaluate
1

9. What will be the output of the following Java code?

1. class array_output

2. {

3. public static void main(String args[])

4. {

Downloaded from: https://cse-r17.blogspot.com 59


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

5. char array_variable [] = new char[10];

6. for (int i = 0; i < 10; ++i)

7. {

8. array_variable[i] = 'i';

9. System.out.print(array_variable[i] + "");

10. }

11. }

12. }

a) 1 2 3 4 5 6 7 8 9 10
b) 0 1 2 3 4 5 6 7 8 9 10
c) i j k l m n o p q r
d) i i i i i i i i i i

Answer: d
Explanation: None.
output:
$ javac array_output.java
$ java array_output
i i i i i i i i i i

10. What will be the output of the following Java code?

1. class array_output

2. {

3. public static void main(String args[])

4. {

5. int array_variable[][] = {{ 1, 2, 3}, { 4 , 5, 6}, { 7, 8, 9}};

6. int sum = 0;

7. for (int i = 0; i < 3; ++i)

8. for (int j = 0; j < 3 ; ++j)

9. sum = sum + array_variable[i][j];

10. System.out.print(sum / 5);

11. }

12. }

a) 8
b) 9
c) 10
d) 11

Answer: b
Explanation: None.
output:
$ javac array_output.java
$ java array_output
9

Downloaded from: https://cse-r17.blogspot.com 60


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

TOPIC 1.21 PACKAGES

This section of our 1000+ Java MCQs focuses on packages of Java Programming Language.

1. Which of these keywords is used to define packages in Java?


a) pkg
b) Pkg
c) package
d) Package

Answer: c
Explanation: None.

2. Which of these is a mechanism for naming and visibility control of a class and its content?
a) Object
b) Packages
c) Interfaces
d) None of the Mentioned.

Answer: b
Explanation: Packages are both naming and visibility control mechanism. We can define a class inside a package which is
not accessible by code outside the package.

3. Which of this access specifies can be used for a class so that its members can be accessed by a different class in the
same package?
a) Public
b) Protected
c) No Modifier
d) All of the mentioned

Answer: d
Explanation: Either we can use public, protected or we can name the class without any specifier.

4. Which of these access specifiers can be used for a class so that its members can be accessed by a different class in the
different package?
a) Public
b) Protected
c) Private
d) No Modifier

Answer: a
Explanation: None.

5. Which of the following is the correct way of importing an entire package ‘pkg’?
a) import pkg.
b) Import pkg.
c) import pkg.*
d) Import pkg.*

Answer: c
Explanation: Operator * is used to import the entire package.

6. Which of the following is an incorrect statement about packages?


a) Package defines a namespace in which classes are stored
b) A package can contain other package within it
c) Java uses file system directories to store packages
d) A package can be renamed without renaming the directory in which the classes are stored

Answer: d
Explanation: A package can be renamed only after renaming the directory in which the classes are stored.

Downloaded from: https://cse-r17.blogspot.com 61


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

7. Which of the following package stores all the standard java classes?
a) lang
b) java
c) util
d) java.packages

Answer: b
Explanation: None.

8. What will be the output of the following Java program?

1. package pkg;

2. class display

3. {

4. int x;

5. void show()

6. {

7. if (x > 1)

8. System.out.print(x + " ");

9. }

10. }

11. class packages

12. {

13. public static void main(String args[])

14. {

15. display[] arr=new display[3];

16. for(int i=0;i<3;i++)

17. arr[i]=new display();

18. arr[0].x = 0;

19. arr[1].x = 1;

20. arr[2].x = 2;

21. for (int i = 0; i < 3; ++i)

22. arr[i].show();

23. }

24. }

Note : packages.class file is in directory pkg;


a) 0
b) 1
c) 2
d) 0 1 2

Answer: c
Explanation: None.
Output:

Downloaded from: https://cse-r17.blogspot.com 62


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

$ javac packages.java
$ java packages
2

9. What will be the output of the following Java program?

1. package pkg;

2. class output

3. {

4. public static void main(String args[])

5. {

6. StringBuffer s1 = new StringBuffer("Hello");

7. s1.setCharAt(1, x);

8. System.out.println(s1);

9. }

10. }

a) xello
b) xxxxx
c) Hxllo
d) Hexlo

Answer: c
Explanation: None.
Output:
$ javac output.java
$ java output
Hxllo

10. What will be the output of the following Java program?

1. package pkg;

2. class output

3. {

4. public static void main(String args[])

5. {

6. StringBuffer s1 = new StringBuffer("Hello World");

7. s1.insert(6 , "Good ");

8. System.out.println(s1);

9. }

10. }

Note : Output.class file is not in directory pkg.


a) HelloGoodWorld
b) HellGoodoWorld
c) Compilation error
d) Runtime error

Answer: d
Explanation: Since output.class file is not in the directory pkg in which class output is defined, program will not be able to

Downloaded from: https://cse-r17.blogspot.com 63


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

run.
output:
$ javac output.java
$ java output
can not find file output.class

UNIT II INHERITANCE AND INTERFACES


TOPIC 2.1 INHERITANCE

This section of our 1000+ Java MCQs focuses on Inheritance of Java Programming Language.

1. Which of this keyword must be used to inherit a class?


a) super
b) this
c) extent
d) extends

Answer: d
Explanation: None.

2. A class member declared protected becomes a member of subclass of which type?


a) public member
b) private member
c) protected member
d) static member

Answer: b
Explanation: A class member declared protected becomes a private member of subclass.

3. Which of these is correct way of inheriting class A by class B?


a) class B + class A {}
b) class B inherits class A {}
c) class B extends A {}
d) class B extends class A {}

Answer: c
Explanation: None.

4. Which two classes use the Shape class correctly?

A. public class Circle implements Shape


{
private int radius;
}
B. public abstract class Circle extends Shape
{
private int radius;
}
C. public class Circle extends Shape
{
private int radius;
public void draw();
}
D. public abstract class Circle implements Shape
{
private int radius;
public void draw();
}
E. public class Circle extends Shape
{
private int radius;

Downloaded from: https://cse-r17.blogspot.com 64


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

public void draw()


{
/* code here */
}
}
F. public abstract class Circle implements Shape
{
private int radius;
public void draw()
{
/* code here */
}
}

a) B,E
b) A,C
c) C,E
d) T,H

Answer: a
Explanation: If one is extending any class, then they should use extends keyword not implements.

5. What will be the output of the following Java program?

1. class A

2. {

3. int i;

4. void display()

5. {

6. System.out.println(i);

7. }

8. }

9. class B extends A

10. {

11. int j;

12. void display()

13. {

14. System.out.println(j);

15. }

16. }

17. class inheritance_demo

18. {

19. public static void main(String args[])

20. {

21. B obj = new B();

22. obj.i=1;

23. obj.j=2;

Downloaded from: https://cse-r17.blogspot.com 65


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

24. obj.display();

25. }

26. }

a) 0
b) 1
c) 2
d) Compilation Error

Answer: c
Explanation: Class A & class B both contain display() method, class B inherits class A, when display() method is called
by object of class B, display() method of class B is executed rather than that of Class A.
output:
$ javac inheritance_demo.java
$ java inheritance_demo
2

6. What will be the output of the following Java program?

1. class A

2. {

3. int i;

4. }

5. class B extends A

6. {

7. int j;

8. void display()

9. {

10. super.i = j + 1;

11. System.out.println(j + " " + i);

12. }

13. }

14. class inheritance

15. {

16. public static void main(String args[])

17. {

18. B obj = new B();

19. obj.i=1;

20. obj.j=2;

21. obj.display();

22. }

23. }

Downloaded from: https://cse-r17.blogspot.com 66


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

a) 2 2
b) 3 3
c) 2 3
d) 3 2

Answer: c
Explanation: None
output:
$ javac inheritance.java
$ java inheritance
2 3

7. What will be the output of the following Java program?

1. class A

2. {

3. public int i;

4. public int j;

5. A()

6. {

7. i = 1;

8. j = 2;

9. }

10. }

11. class B extends A

12. {

13. int a;

14. B()

15. {

16. super();

17. }

18. }

19. class super_use

20. {

21. public static void main(String args[])

22. {

23. B obj = new B();

24. System.out.println(obj.i + " " + obj.j)

25. }

26. }

a) 1 2
b) 2 1

Downloaded from: https://cse-r17.blogspot.com 67


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Runtime Error
d) Compilation Error

Answer: a
Explanation: Keyword super is used to call constructor of class A by constructor of class B. Constructor of a initializes i
& j to 1 & 2 respectively.
output:
$ javac super_use.java
$ java super_use
1 2

TOPIC 2.2 ABSTRACT CLASSES, SUPER CLASS AND METHODS

This section of our 1000+ Java MCQs focuses on Abstract class in Java Programming Language.

1. Which of these keywords are used to define an abstract class?


a) abst
b) abstract
c) Abstract
d) abstract class

Answer: b
Explanation: None.

2. Which of these is not abstract?


a) Thread
b) AbstractList
c) List
d) None of the Mentioned

Answer: a
Explanation: Thread is not an abstract class.

3. If a class inheriting an abstract class does not define all of its function then it will be known as?
a) Abstract
b) A simple class
c) Static class
d) None of the mentioned

Answer: a
Explanation: Any subclass of an abstract class must either implement all of the abstract method in the superclass or be
itself declared abstract.

4. Which of these is not a correct statement?


a) Every class containing abstract method must be declared abstract
b) Abstract class defines only the structure of the class not its implementation
c) Abstract class can be initiated by new operator
d) Abstract class can be inherited

Answer: c
Explanation: Abstract class cannot be directly initiated with new operator, Since abstract class does not contain any
definition of implementation it is not possible to create an abstract object.

5. Which of these packages contains abstract keyword?


a) java.lang
b) java.util
c) java.io
d) java.system

Answer: a
Explanation: None.

Downloaded from: https://cse-r17.blogspot.com 68


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

6. What will be the output of the following Java code?

1. class A

2. {

3. public int i;

4. private int j;

5. }

6. class B extends A

7. {

8. void display()

9. {

10. super.j = super.i + 1;

11. System.out.println(super.i + " " + super.j);

12. }

13. }

14. class inheritance

15. {

16. public static void main(String args[])

17. {

18. B obj = new B();

19. obj.i=1;

20. obj.j=2;

21. obj.display();

22. }

23. }

a) 2 2
b) 3 3
c) Runtime Error
d) Compilation Error

Answer: d
Explanation: Class contains a private member variable j, this cannot be inherited by subclass B and does not have access
to it.
output:
$ javac inheritance.java
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The field A.j is not visible

7. What will be the output of the following Java code?

1. class A

2. {

3. public int i;

Downloaded from: https://cse-r17.blogspot.com 69


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

4. public int j;

5. A()

6. {

7. i = 1;

8. j = 2;

9. }

10. }

11. class B extends A

12. {

13. int a;

14. B()

15. {

16. super();

17. }

18. }

19. class super_use

20. {

21. public static void main(String args[])

22. {

23. B obj = new B();

24. System.out.println(obj.i + " " + obj.j)

25. }

26. }

a) 1 2
b) 2 1
c) Runtime Error
d) Compilation Error

Answer: a
Explanation: Keyword super is used to call constructor of class A by constructor of class B. Constructor of a initializes i
& j to 1 & 2 respectively.
output:
$ javac super_use.java
$ java super_use
1 2

8. What will be the output of the following Java code?

1. class A

2. {

3. int i;

4. void display()

Downloaded from: https://cse-r17.blogspot.com 70


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

5. {

6. System.out.println(i);

7. }

8. }

9. class B extends A

10. {

11. int j;

12. void display()

13. {

14. System.out.println(j);

15. }

16. }

17. class method_overriding

18. {

19. public static void main(String args[])

20. {

21. B obj = new B();

22. obj.i=1;

23. obj.j=2;

24. obj.display();

25. }

26. }

a) 0
b) 1
c) 2
d) Compilation Error

Answer: c
Explanation: class A & class B both contain display() method, class B inherits class A, when display() method is called
by object of class B, display() method of class B is executed rather than that of Class A.
output:
$ javac method_overriding.java
$ java method_overriding
2

9. What will be the output of the following Java code?

1. class A

2. {

3. public int i;

4. protected int j;

5. }

Downloaded from: https://cse-r17.blogspot.com 71


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

6. class B extends A

7. {

8. int j;

9. void display()

10. {

11. super.j = 3;

12. System.out.println(i + " " + j);

13. }

14. }

15. class Output

16. {

17. public static void main(String args[])

18. {

19. B obj = new B();

20. obj.i=1;

21. obj.j=2;

22. obj.display();

23. }

24. }

a) 1 2
b) 2 1
c) 1 3
d) 3 1

Answer: a
Explanation: Both class A & B have member with same name that is j, member of class B will be called by default if no
specifier is used. I contains 1 & j contains 2, printing 1 2.
output:
$ javac Output.java
$ java Output
1 2

TOPIC 2.3 FINAL METHODS AND CLASSES

This section of our 1000+ Java MCQs focuses on Methods of Java Programming Language.

1. What is the return type of a method that does not return any value?
a) int
b) float
c) void
d) double

Answer: c
Explanation: Return type of a method must be made void if it is not returning any value.

2. What is the process of defining more than one method in a class differentiated by method signature?
a) Function overriding

Downloaded from: https://cse-r17.blogspot.com 72


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

b) Function overloading
c) Function doubling
d) None of the mentioned

Answer: b
Explanation: Function overloading is a process of defining more than one method in a class with same name differentiated
by function signature i:e return type or parameters type and number. Example – int volume(int length, int width) & int
volume(int length , int width , int height) can be used to calculate volume.

3. Which of the following is a method having same name as that of it’s class?
a) finalize
b) delete
c) class
d) constructor

Answer: d
Explanation: A constructor is a method that initializes an object immediately upon creation. It has the same name as that
of class in which it resides.

4. Which method can be defined only once in a program?


a) main method
b) finalize method
c) static method
d) private method

Answer: a
Explanation: main() method can be defined only once in a program. Program execution begins from the main() method by
java runtime system.

5. Which of this statement is incorrect?


a) All object of a class are allotted memory for the all the variables defined in the class
b) If a function is defined public it can be accessed by object of other class by inheritation
c) main() method must be made public
d) All object of a class are allotted memory for the methods defined in the class

Answer: d
Explanation: All object of class share a single copy of methods defined in a class, Methods are allotted memory only
once. All the objects of the class have access to methods of that class are allotted memory only for the variables not for the
methods.

6. What will be the output of the following Java program?

1. class box

2. {

3. int width;

4. int height;

5. int length;

6. int volume;

7. void volume(int height, int length, int width)

8. {

9. volume = width*height*length;

10. }

11. }

12. class Prameterized_method

Downloaded from: https://cse-r17.blogspot.com 73


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

13. {

14. public static void main(String args[])

15. {

16. box obj = new box();

17. obj.height = 1;

18. obj.length = 5;

19. obj.width = 5;

20. obj.volume(3,2,1);

21. System.out.println(obj.volume);

22. }

23. }

a) 0
b) 1
c) 6
d) 25

Answer: c
Explanation: None.
output:
$ Prameterized_method.java
$ Prameterized_method
6

7. What will be the output of the following Java program?

1. class equality

2. {

3. int x;

4. int y;

5. boolean isequal()

6. {

7. return(x == y);

8. }

9. }

10. class Output

11. {

12. public static void main(String args[])

13. {

14. equality obj = new equality();

15. obj.x = 5;

16. obj.y = 5;

17. System.out.println(obj.isequal());

Downloaded from: https://cse-r17.blogspot.com 74


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

18. }

19. }

a) false
b) true
c) 0
d) 1

Answer: b
Explanation: None.
output:
$ javac Output.java
$ java Output
true

8. What will be the output of the following Java program?

1. class box

2. {

3. int width;

4. int height;

5. int length;

6. int volume;

7. void volume()

8. {

9. volume = width*height*length;

10. }

11. }

12. class Output

13. {

14. public static void main(String args[])

15. {

16. box obj = new box();

17. obj.height = 1;

18. obj.length = 5;

19. obj.width = 5;

20. obj.volume();

21. System.out.println(obj.volume);

22. }

23. }

a) 0
b) 1
c) 25
d) 26

Downloaded from: https://cse-r17.blogspot.com 75


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: None.
output:
$ javac Output.java
$ java Output
25

9. In the following Java code, which call to sum() method is appropriate?

1. class Output
2. {
3.
4. public static int sum(int ...x)

5. {

6. return;

7. }

8. static void main(String args[])

9. {

10. sum(10);

11. sum(10,20);

12. sum(10,20,30);

13. sum(10,20,30,40);

14. }

15. }

a) only sum(10)
b) only sum(10,20)
c) only sum(10) & sum(10,20)
d) all of the mentioned

Answer: d
Explanation: sum is a variable argument method and hence it can take any number as an argument.

10. What will be the output of the following Java program?

1. class area

2. {

3. int width;

4. int length;

5. int volume;

6. area()

7. {

8. width=5;

9. length=6;

10. }

Downloaded from: https://cse-r17.blogspot.com 76


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

11. void volume()

12. {

13. volume = width*length*height;

14. }

15. }

16. class cons_method

17. {

18. public static void main(String args[])

19. {

20. area obj = new area();

21. obj.volume();

22. System.out.println(obj.volume);

23. }

24. }

a) 0
b) 1
c) 30
d) error

Answer: d
Explanation: Variable height is not defined.
output:
$ javac cons_method.java
$ java cons_method
error: cannot find symbol height

Sanfoundry Global Education & Learning Series – Java Programming Language.

TOPIC 2.4 INTERFACES

This section of our 1000+ Java MCQs focuses on interfaces of Java Programming Language.

1. Which of these keywords is used to define interfaces in Java?


a) interface
b) Interface
c) intf
d) Intf

Answer: a
Explanation: None.

2. Which of these can be used to fully abstract a class from its implementation?
a) Objects
b) Packages
c) Interfaces
d) None of the Mentioned

Answer: c
Explanation: None.

Downloaded from: https://cse-r17.blogspot.com 77


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

3. Which of these access specifiers can be used for an interface?


a) Public
b) Protected
c) private
d) All of the mentioned

Answer: a
Explanation: Access specifier of an interface is either public or no specifier. When no access specifier is used then default
access specifier is used due to which interface is available only to other members of the package in which it is declared,
when declared public it can be used by any code.

4. Which of these keywords is used by a class to use an interface defined previously?


a) import
b) Import
c) implements
d) Implements

Answer: c
Explanation: interface is inherited by a class using implements.

5. Which of the following is the correct way of implementing an interface salary by class manager?
a) class manager extends salary {}
b) class manager implements salary {}
c) class manager imports salary {}
d) none of the mentioned

Answer: b
Explanation: None.

6. Which of the following is an incorrect statement about packages?


a) Interfaces specifies what class must do but not how it does
b) Interfaces are specified public if they are to be accessed by any code in the program
c) All variables in interface are implicitly final and static
d) All variables are static and methods are public if interface is defined pubic

Answer: d
Explanation: All methods and variables are implicitly public if interface is declared public.

7. What will be the output of the following Java program?

1. interface calculate

2. {

3. void cal(int item);

4. }

5. class display implements calculate

6. {

7. int x;

8. public void cal(int item)

9. {

10. x = item * item;

11. }

12. }

13. class interfaces

Downloaded from: https://cse-r17.blogspot.com 78


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

14. {

15. public static void main(String args[])

16. {

17. display arr = new display;

18. arr.x = 0;

19. arr.cal(2);

20. System.out.print(arr.x);

21. }

22. }

a) 0
b) 2
c) 4
d) None of the mentioned

Answer: c
Explanation: None.
Output:
$ javac interfaces.java
$ java interfaces
4

8. What will be the output of the following Java program?

1. interface calculate

2. {

3. void cal(int item);

4. }

5. class displayA implements calculate

6. {

7. int x;

8. public void cal(int item)

9. {

10. x = item * item;

11. }

12. }

13. class displayB implements calculate

14. {

15. int x;

16. public void cal(int item)

17. {

18. x = item / item;

19. }

Downloaded from: https://cse-r17.blogspot.com 79


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

20. }

21. class interfaces

22. {

23. public static void main(String args[])

24. {

25. displayA arr1 = new displayA;

26. displayB arr2 = new displayB;

27. arr1.x = 0;

28. arr2.x = 0;

29. arr1.cal(2);

30. arr2.cal(2);

31. System.out.print(arr1.x + " " + arr2.x);

32. }

33. }

a) 0 0
b) 2 2
c) 4 1
d) 1 4

Answer: c
Explanation: class displayA implements the interface calculate by doubling the value of item, where as class displayB
implements the interface by dividing item by item, therefore variable x of class displayA stores 4 and variable x of class
displayB stores 1.
Output:
$ javac interfaces.java
$ java interfaces
4 1

9. What will be the output of the following Java program?

1. interface calculate
2. {
3. int VAR = 0;

4. void cal(int item);

5. }
6. class display implements calculate

7. {

8. int x;

9. public void cal(int item)

10. {

11. if (item<2)

12. x = VAR;

13. else

Downloaded from: https://cse-r17.blogspot.com 80


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

14. x = item * item;

15. }

16. }

17. class interfaces


18. {
19.
20. public static void main(String args[])

21. {

22. display[] arr=new display[3];

23.
24. for(int i=0;i<3;i++)

25. arr[i]=new display();

26. arr[0].cal(0);

27. arr[1].cal(1);

28. arr[2].cal(2);

29. System.out.print(arr[0].x+" " + arr[1].x + " " + arr[2].x);

30. }

31. }

a) 0 1 2
b) 0 2 4
c) 0 0 4
d) 0 1 4

Answer: c
Explanation: None.
output:
$ javac interfaces.java
$ java interfaces
0 0 4

TOPIC 2.5 OBJECT CLONING

This section of our 1000+ Java MCQs focuses on Object class of Java Programming Language.

1. Which of these class is superclass of every class in Java?


a) String class
b) Object class
c) Abstract class
d) ArrayList class

Answer: b
Explanation: Object class is superclass of every class in Java.

2. Which of these method of Object class can clone an object?


a) Objectcopy()
b) copy()
c) Object clone()
d) clone()

Downloaded from: https://cse-r17.blogspot.com 81


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: None.

3. Which of these method of Object class is used to obtain class of an object at run time?
a) get()
b) void getclass()
c) Class getclass()
d) None of the mentioned

Answer: c
Explanation: None.

4. Which of these keywords can be used to prevent inheritance of a class?


a) super
b) constant
c) class
d) final

Answer: d
Explanation: Declaring a class final implicitly declared all of its methods final, and makes the class inheritable.

5. Which of these keywords cannot be used for a class which has been declared final?
a) abstract
b) extends
c) abstract and extends
d) none of the mentioned

Answer: a
Explanation: A abstract class is incomplete by itself and relies upon its subclasses to provide a complete implementation.
If we declare a class final then no class can inherit that class, an abstract class needs its subclasses hence both final and
abstract cannot be used for a same class.

6. Which of these class relies upon its subclasses for complete implementation of its methods?
a) Object class
b) abstract class
c) ArrayList class
d) None of the mentioned

Answer: b
Explanation: None.

7. What will be the output of the following Java program?

1. abstract class A

2. {

3. int i;

4. abstract void display();

5. }

6. class B extends A

7. {

8. int j;

9. void display()

10. {

11. System.out.println(j);

12. }

Downloaded from: https://cse-r17.blogspot.com 82


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

13. }

14. class Abstract_demo

15. {

16. public static void main(String args[])

17. {

18. B obj = new B();

19. obj.j=2;

20. obj.display();

21. }

22. }

a) 0
b) 2
c) Runtime Error
d) Compilation Error

Answer: b
Explanation: class A is an abstract class, it contains a abstract function display(), the full implementation of display()
method is given in its subclass B, Both the display functions are the same. Prototype of display() is defined in class A and
its implementation is given in class B.
output:
$ javac Abstract_demo.java
$ java Abstract_demo
2

8. What will be the output of the following Java program?

1. class A

2. {

3. int i;

4. int j;

5. A()

6. {

7. i = 1;

8. j = 2;

9. }

10. }

11. class Output

12. {

13. public static void main(String args[])

14. {

15. A obj1 = new A();

16. A obj2 = new A();

17. System.out.print(obj1.equals(obj2));

Downloaded from: https://cse-r17.blogspot.com 83


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

18. }

19. }

a) false
b) true
c) 1
d) Compilation Error

Answer: a
Explanation: obj1 and obj2 are two different objects. equals() is a method of Object class, Since Object class is superclass
of every class it is available to every object.
output:
$ javac Output.java
$ java Output
false

9. What will be the output of the following Java code?

1. class Output

2. {

3. public static void main(String args[])

4. {

5. Object obj = new Object();

6. System.out.print(obj.getclass());

7. }

8. }

a) Object
b) class Object
c) class java.lang.Object
d) Compilation Error

Answer: c
Explanation: None.
output:
$ javac Output.java
$ java Output
class java.lang.Object

10. What will be the output of the following Java code?

1. class A

2. {

3. int i;

4. int j;

5. A()

6. {

7. i = 1;

8. j = 2;

9. }

Downloaded from: https://cse-r17.blogspot.com 84


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

10. }

11. class Output

12. {

13. public static void main(String args[])

14. {

15. A obj1 = new A();

16. System.out.print(obj1.toString());

17. }

18. }

a) true
b) false
c) String associated with obj1
d) Compilation Error

Answer: c
Explanation: toString() is method of class Object, since it is superclass of every class, every object has this method.
toString() returns the string associated with the calling object.
output:
$ javac Output.java
$ java Output
[email protected]

TOPIC 2.6 INNER CLASSES

1. Which among the following best describes a nested class?


a) Class inside a class
b) Class inside a function
c) Class inside a package
d) Class inside a structure

Answer: a
Explanation: If a class is defined inside another class, the inner class is termed as nested class. The inner class is local to
the enclosing class. Scope matters a lot here.

2. Which feature of OOP reduces the use of nested classes?


a) Encapsulation
b) Inheritance
c) Binding
d) Abstraction

Answer: b
Explanation: Using inheritance we can have the security of the class being inherited. The subclass can access the
members of parent class. And have more feature than a nested class being used.

3. How many categories are nested classes divided into?


a) 2
b) 3
c) 4
d) 5

Answer: a
Explanation: The nested classes are divided into two main categories. Namely, Static and non-static. The categories define
how the classes can be used inside another class.

Downloaded from: https://cse-r17.blogspot.com 85


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

4. Non-static nested classes have access to _____________ from enclosing class.


a) Private members
b) Protected members
c) Public members
d) All the members

Answer: d
Explanation: The non-static nested class can access all the members of the enclosing class. All the data members and
member functions can be accessed from the nested class. Even if the members are private, they can be accessed.

5. Static nested classes doesn’t have access to _________________ from enclosing class.
a) Private members
b) Protected members
c) Public members
d) Any other members

Answer: d
Explanation: The static nested class doesn’t have access to any other members of the enclosing class. This is a rule that is
made to ensure that only the data which can be common to all the object is being accessed by the static nested class.

6. The nested class can be declared ___________________


a) Public
b) Private
c) Protected
d) Public, Protected, Private or Package private

Answer: d
Explanation: The nested class can be declared with any specifier, unlike the outer classes which can only be declared
public or package private. This is flexibility given for the nested class being a member of enclosing class.

7. Use of nested class ____________ encapsulation.


a) Increases
b) Decreases
c) Doesn’t affect
d) Slightly decreases

Answer: a
Explanation: The use of nested class increases encapsulation as the inner class is getting even more grouped into the
enclosing class. Firstly the class encapsulate the data, having nested classes can increase the encapsulation even further.

8. Which among the following is the correct advantage/disadvantage of nested classes?


a) Makes the code more complex
b) Makes the code unreadable
c) Makes the code efficient and readable
d) Makes the code multithreaded

Answer: c
Explanation: The use of nested classes makes the code more streamed towards a single concept. This allows to group the
most similar and related classes together and makes it even more efficient and readable.

9. How to access static nested classes?


a) OuterClass.StaticNestedClass
b) OuterClass->StaticNestedClass
c) OuterClass(StaticNestedClass)
d) OuterClass[StaticNestedClass]

Answer: a
Explanation: Like any other member of the class, the static nested class uses the dot operator to be accessed. The reason
behind is, the static classes can’t work with instances, hence we use enclosing class name to access static nested class.

10. A nested class can have its own static members.


a) True
b) False

Downloaded from: https://cse-r17.blogspot.com 86


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: b
Explanation: The nested classes are associated with the object of the enclosing class. Hence have direct access to the
members of that object. Hence the inner class can’t have any static members of its own. Otherwise the rule of static
members would be violated using enclosing class instance.

11. How to create object of the inner class?


a) OuterClass.InnerClass innerObject = outerObject.new InnerClass();
b) OuterClass.InnerClass innerObject = new InnerClass();
c) InnerClass innerObject = outerObject.new InnerClass();
d) OuterClass.InnerClass = outerObject.new InnerClass();

Answer: a
Explanation: An instance of inner class can exist only within instance of outer class. To instantiate the inner class, one
must instantiate the outer class first. This can be done by the correct syntax above.

12. What will be the output of the following code?

public class Test


{
public int a=0;
class innerClass
{
public int a=1;
void innermethod(int x)
{
System.out.println(“value of x = ” + x);
System.out.println(“value of this.x = ” + this.x);
System.out.println(“value of Test.this.x = ” + Test.T=this.x);
}
}
}
public static void main( String args[] )
{
Test t=new Test();
Test.innerClass im=t.new innerClass();
im.innermethod(55);
}

a)

value of x = 55

value of this.x = 0

value of Test.this.x = 1

b)

value of x = 1

value of this.x = 0

value of Test.this.x = 55

c)

value of x = 55

value of this.x = 1

value of Test.this.x = 0

d)
value of x = 0

value of this.x = 55

value of Test.this.x = 1

Downloaded from: https://cse-r17.blogspot.com 87


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: The variable x denotes the parameter of the function. And this.x is the variable of the inner class. Test.this.x
is the variable of the outer class. Hence we get this output.

13. Instance of inner class can exist only _______________ enclosing class.
a) Within
b) Outside
c) Private to
d) Public to

Answer: a
Explanation: The class defined inside another class is local to the enclosing class. This means that the instance of inner
class will not be valid outside the enclosing class. There is no restriction for instance to be private or public always.

14. If a declaration of a member in inner class has the same name as that in the outer class, then ________________
enclosing scope.
a) Outer declaration shadows inner declaration in
b) Inner declaration shadows outer declaration in
c) Declaration gives compile time error
d) Declaration gives runtime error

Answer: b
Explanation: The inner class will have more preference for its local members than those of the enclosing members. Hence
it will shadow the enclosing class members. This process is known as shadowing.

15. A static nested class is _____________ class in behavior that is nested in another _________ class.
a) Top level, top level
b) Top level, low level
c) Low level, top level
d) Low level, low level

Answer: a
Explanation: Top level class encloses the other classes or have same preference as that of other top level classes. Having a
class inside the top level class is indirectly having a top level class which higher degree of encapsulation.

TOPIC 2.7 ARRAY LISTS

This section of our 1000+ Java MCQs focuses on ArrayList class of Java Programming Language.

1. Which of these standard collection classes implements a dynamic array?


a) AbstractList
b) LinkedList
c) ArrayList
d) AbstractSet

Answer: c
Explanation: ArrayList class implements a dynamic array by extending AbstractList class.

2. Which of these class can generate an array which can increase and decrease in size automatically?
a) ArrayList()
b) DynamicList()
c) LinkedList()
d) MallocList()

Answer: a
Explanation: None.

3. Which of these method can be used to increase the capacity of ArrayList object manually?
a) Capacity()
b) increaseCapacity()

Downloaded from: https://cse-r17.blogspot.com 88


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) increasecapacity()
d) ensureCapacity()

Answer: d
Explanation: When we add an element, the capacity of ArrayList object increases automatically, but we can increase it
manually to specified length x by using function ensureCapacity(x);

4. Which of these method of ArrayList class is used to obtain present size of an object?
a) size()
b) length()
c) index()
d) capacity()

Answer: a
Explanation: None.

5. Which of these methods can be used to obtain a static array from an ArrayList object?
a) Array()
b) covertArray()
c) toArray()
d) covertoArray()

Answer: c
Explanation: None.

6. Which of these method is used to reduce the capacity of an ArrayList object?


a) trim()
b) trimSize()
c) trimTosize()
d) trimToSize()

Answer: d
Explanation: trimTosize() is used to reduce the size of the array that underlines an ArrayList object.

7. What will be the output of the following Java program?

1. import java.util.*;

2. class Arraylist

3. {

4. public static void main(String args[])

5. {

6. ArrayList obj = new ArrayList();

7. obj.add("A");

8. obj.add("B");

9. obj.add("C");

10. obj.add(1, "D");

11. System.out.println(obj);

12. }

13. }

a) [A, B, C, D]
b) [A, D, B, C]
c) [A, D, C]
d) [A, B, C]

Downloaded from: https://cse-r17.blogspot.com 89


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: b
Explanation: obj is an object of class ArrayList hence it is an dynamic array which can increase and decrease its size.
obj.add(“X”) adds to the array element X and obj.add(1,”X”) adds element x at index position 1 in the list, Hence
obj.add(1,”D”) stores D at index position 1 of obj and shifts the previous value stored at that position by 1.
Output:
$ javac Arraylist.java
$ java Arraylist
[A, D, B, C].

8. What will be the output of the following Java program?

1. import java.util.*;

2. class Output

3. {

4. public static void main(String args[])

5. {

6. ArrayList obj = new ArrayList();

7. obj.add("A");

8. obj.add(0, "B");

9. System.out.println(obj.size());

10. }

11. }

a) 0
b) 1
c) 2
d) Any Garbage Value

Answer: c
Explanation: None.
Output:
$ javac Output.java
$ java Output
2

9. What will be the output of the following Java program?

1. import java.util.*;

2. class Output

3. {

4. public static void main(String args[])

5. {

6. ArrayList obj = new ArrayList();

7. obj.add("A");

8. obj.ensureCapacity(3);

9. System.out.println(obj.size());

10. }

Downloaded from: https://cse-r17.blogspot.com 90


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

11. }

a) 1
b) 2
c) 3
d) 4

Answer: a
Explanation: Although obj.ensureCapacity(3); has manually increased the capacity of obj to 3 but the value is stored only
at index 0, therefore obj.size() returns the total number of elements stored in the obj i:e 1, it has nothing to do with
ensureCapacity().
Output:
$ javac Output.java
$ java Output
1

10. What will be the output of the following Java program?

1. class Output

2. {

3. public static void main(String args[])

4. {

5. ArrayList obj = new ArrayList();

6. obj.add("A");

7. obj.add("D");

8. obj.ensureCapacity(3);

9. obj.trimToSize();

10. System.out.println(obj.size());

11. }

12. }

a) 1
b) 2
c) 3
d) 4

Answer: b
Explanation: trimTosize() is used to reduce the size of the array that underlines an ArrayList object.
Output:
$ javac Output.java
$ java Output
2

TOPIC 2.8 STRINGS

This section of our 1000+ Java MCQs focuses on String class of Java Programming Language.

1. String in Java is a?
a) class
b) object
c) variable
d) character array

Downloaded from: https://cse-r17.blogspot.com 91


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: a
Explanation: None.

2. Which of these method of String class is used to obtain character at specified index?
a) char()
b) Charat()
c) charat()
d) charAt()

Answer: d
Explanation: None.

3. Which of these keywords is used to refer to member of base class from a subclass?
a) upper
b) super
c) this
d) none of the mentioned

Answer: b
Explanation: Whenever a subclass needs to refer to its immediate superclass, it can do so by use of the keyword super.

4. Which of these method of String class can be used to test to strings for equality?
a) isequal()
b) isequals()
c) equal()
d) equals()

Answer: d
Explanation: None.

5. Which of the following statements are incorrect?


a) String is a class
b) Strings in java are mutable
c) Every string is an object of class String
d) Java defines a peer class of String, called StringBuffer, which allows string to be altered

Answer: b
Explanation: Strings in Java are immutable that is they can not be modified.

6. What will be the output of the following Java program?

1. class string_demo

2. {

3. public static void main(String args[])

4. {

5. String obj = "I" + "like" + "Java";

6. System.out.println(obj);

7. }

8. }

a) I
b) like
c) Java
d) IlikeJava

Answer: d
Explanation: Java defines an operator +, it is used to concatenate strings.
output:

Downloaded from: https://cse-r17.blogspot.com 92


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

$ javac string_demo.java
$ java string_demo
IlikeJava

7. What will be the output of the following Java program?

1. class string_class

2. {

3. public static void main(String args[])

4. {

5. String obj = "I LIKE JAVA";

6. System.out.println(obj.charAt(3));

7. }

8. }

a) I
b) L
c) K
d) E

Answer: a
Explanation: charAt() is a method of class String which gives the character specified by the index. obj.charAt(3) gives 4th
character i:e I.
output:
$ javac string_class.java
$ java string_class
I

8. What will be the output of the following Java program?

1. class string_class

2. {

3. public static void main(String args[])

4. {

5. String obj = "I LIKE JAVA";

6. System.out.println(obj.length());

7. }

8. }

a) 9
b) 10
c) 11
d) 12

Answer: c
Explanation: None.
output:
$ javac string_class.java
$ java string_class
11

9. What will be the output of the following Java program?

Downloaded from: https://cse-r17.blogspot.com 93


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

1. class string_class

2. {

3. public static void main(String args[])

4. {

5. String obj = "hello";

6. String obj1 = "world";

7. String obj2 = obj;

8. obj2 = " world";

9. System.out.println(obj + " " + obj2);

10. }

11. }

a) hello hello
b) world world
c) hello world
d) world hello

Answer: c
Explanation: None.
output:
$ javac string_class.java
$ java string_class
hello world

10. What will be the output of the following Java program?

1. class string_class

2. {

3. public static void main(String args[])

4. {

5. String obj = "hello";

6. String obj1 = "world";

7. String obj2 = "hello";

8. System.out.println(obj.equals(obj1) + " " + obj.equals(obj2));

9. }

10. }

a) false false
b) true true
c) true false
d) false true

Answer: d
Explanation: equals() is method of class String, it is used to check equality of two String objects, if they are equal, true is
retuned else false.
output:
$ javac string_class.java
$ java string_class

Downloaded from: https://cse-r17.blogspot.com 94


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

false true

UNIT III EXCEPTION HANDLING AND I/O


TOPIC 3.1 EXCEPTIONS

This section of our 1000+ Java MCQs focuses on exception handling of Java Programming Language.

1. When does Exceptions in Java arises in code sequence?


a) Run Time
b) Compilation Time
c) Can Occur Any Time
d) None of the mentioned

Answer: a
Explanation: Exceptions in Java are run-time errors.

2. Which of these keywords is not a part of exception handling?


a) try
b) finally
c) thrown
d) catch

Answer: c
Explanation: Exceptional handling is managed via 5 keywords – try, catch, throws, throw and finally.

3. Which of these keywords must be used to monitor for exceptions?


a) try
b) finally
c) throw
d) catch

Answer: a
Explanation: None.

4. Which of these keywords must be used to handle the exception thrown by try block in some rational manner?
a) try
b) finally
c) throw
d) catch

Answer: d
Explanation: If an exception occurs within the try block, it is thrown and cached by catch block for processing.

5. Which of these keywords is used to manually throw an exception?


a) try
b) finally
c) throw
d) catch

Answer: c
Explanation: None.

6. What will be the output of the following Java program?

1. class exception_handling

2. {

Downloaded from: https://cse-r17.blogspot.com 95


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

3. public static void main(String args[])

4. {

5. try

6. {

7. System.out.print("Hello" + " " + 1 / 0);

8. }

9. catch(ArithmeticException e)

10. {

11. System.out.print("World");

12. }

13. }

14. }

a) Hello
b) World
c) HelloWorld
d) Hello World

Answer: b
Explanation: System.ou.print() function first converts the whole parameters into a string and then prints, before “Hello”
goes to output stream 1 / 0 error is encountered which is cached by catch block printing just “World”.
Output:
$ javac exception_handling.java
$ java exception_handling
World

7. What will be the output of the following Java program?

1. class exception_handling

2. {

3. public static void main(String args[])

4. {

5. try

6. {

7. int a, b;

8. b = 0;

9. a = 5 / b;

10. System.out.print("A");

11. }

12. catch(ArithmeticException e)

13. {

14. System.out.print("B");

15. }

Downloaded from: https://cse-r17.blogspot.com 96


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

16. }

17. }

a) A
b) B
c) Compilation Error
d) Runtime Error

Answer: b
Explanation: None.
Output:
$ javac exception_handling.java
$ java exception_handling
B

8. What will be the output of the following Java program?

1. class exception_handling

2. {

3. public static void main(String args[])

4. {

5. try

6. {

7. int a, b;

8. b = 0;

9. a = 5 / b;

10. System.out.print("A");

11. }

12. catch(ArithmeticException e)

13. {

14. System.out.print("B");

15. }

16. finally

17. {

18. System.out.print("C");

19. }

20. }

21. }

a) A
b) B
c) AC
d) BC

Answer: d
Explanation: finally keyword is used to execute the code before try and catch block end.
Output:

Downloaded from: https://cse-r17.blogspot.com 97


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

$ javac exception_handling.java
$ java exception_handling
BC

9. What will be the output of the following Java program?

1. class exception_handling

2. {

3. public static void main(String args[])

4. {

5. try

6. {

7. int i, sum;

8. sum = 10;

9. for (i = -1; i < 3 ;++i)

10. sum = (sum / i);

11. }

12. catch(ArithmeticException e)

13. {

14. System.out.print("0");

15. }

16. System.out.print(sum);

17. }

18. }

a) 0
b) 05
c) Compilation Error
d) Runtime Error

Answer: c
Explanation: Value of variable sum is printed outside of try block, sum is declared only in try block, outside try block it is
undefined.
Output:
$ javac exception_handling.java
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
sum cannot be resolved to a variable

TOPIC 3.2 EXCEPTION HIERARCHY

1. Which of the following keywords is used for throwing exception manually?


a) finally
b) try
c) throw
d) catch

Answer: c
Explanation: “throw’ keyword is used for throwing exception manually in java program. User defined exceptions can be
thrown too.

Downloaded from: https://cse-r17.blogspot.com 98


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

2. Which of the following classes can catch all exceptions which cannot be caught?
a) RuntimeException
b) Error
c) Exception
d) ParentException

Answer: b
Explanation: Runtime errors cannot be caught generally. Error class is used to catch such errors/exceptions.

3. Which of the following is a super class of all exception type classes?


a) Catchable
b) RuntimeExceptions
c) String
d) Throwable

Answer: d
Explanation: Throwable is built in class and all exception types are subclass of this class. It is the super class of all
exceptions.

4. Which of the following operators is used to generate instance of an exception which can be thrown using throw?
a) thrown
b) alloc
c) malloc
d) new

Answer: d
Explanation: new operator is used to create instance of an exception. Exceptions may have parameter as a String or have
no parameter.

5. Which of the following keyword is used by calling function to handle exception thrown by called function?
a) throws
b) throw
c) try
d) catch

Answer: a
Explanation: A method specifies behaviour of being capable of causing exception. Throws clause in the method
declaration guards caller of the method from exception.

6. Which of the following handles the exception when a catch is not used?
a) finally
b) throw handler
c) default handler
d) java run time system

Answer: c
Explanation: Default handler is used to handle all the exceptions if catch is not used to handle exception. Finally is called
in any case.

7. Which part of code gets executed whether exception is caught or not?


a) finally
b) try
c) catch
d) throw

Answer: a
Explanation: Finally block of the code gets executed regardless exception is caught or not. File close, database connection
close, etc are usually done in finally.

8. Which of the following should be true of the object thrown by a thrown statement?
a) Should be assignable to String type
b) Should be assignable to Exception type

Downloaded from: https://cse-r17.blogspot.com 99


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Should be assignable to Throwable type


d) Should be assignable to Error type

Answer: c
Explanation: The throw statement should be assignable to the throwable type. Throwable is the super class of all
exceptions.

9. At runtime, error is recoverable.


a) True
b) False

Answer: b
Explanation: Error is not recoverable at runtime. The control is lost from the application.

TOPIC 3.3 THROWING AND CATCHING EXCEPTIONS

This section of our 1000+ Java MCQs focuses on throw, throws & nested try of Java Programming Language.

1. Which of these keywords is used to generate an exception explicitly?


a) try
b) finally
c) throw
d) catch

Answer: c
Explanation: None.

2. Which of these class is related to all the exceptions that are explicitly thrown?
a) Error
b) Exception
c) Throwable
d) Throw

Answer: c
Explanation: None.

3. Which of these operator is used to generate an instance of an exception than can be thrown by using throw?
a) new
b) malloc
c) alloc
d) thrown

Answer: a
Explanation: new is used to create an instance of an exception. All of java’s built in run-time exceptions have two
constructors: one with no parameters and one that takes a string parameter.

4. Which of these keywords is used to by the calling function to guard against the exception that is thrown by called
function?
a) try
b) throw
c) throws
d) catch

Answer: c
Explanation: If a method is capable of causing an exception that it does not handle. It must specify this behaviour the
behaviour so that callers of the method can guard themselves against that exception. This is done by using throws clause in
methods declaration.

5. What will be the output of the following Java code?

1. class exception_handling

Downloaded from: https://cse-r17.blogspot.com 100


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

2. {

3. public static void main(String args[])

4. {

5. try

6. {

7. int a = args.length;

8. int b = 10 / a;

9. System.out.print(a);

10. try

11. {

12. if (a == 1)

13. a = a / a - a;

14. if (a == 2)

15. {

16. int []c = {1};

17. c[8] = 9;

18. }

19. }

20. catch (ArrayIndexOutOfBoundException e)

21. {

22. System.out.println("TypeA");

23. }

24. catch (ArithmeticException e)

25. {

26. System.out.println("TypeB");

27. }

28. }

29. }

30. }

a) TypeA
b) TypeB
c) Compile Time Error
d) 0TypeB

Answer: c
Explanation: Because we can’t go beyond array limit

6. What will be the output of the following Java code?

1. class exception_handling

Downloaded from: https://cse-r17.blogspot.com 101


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

2. {

3. public static void main(String args[])

4. {

5. try

6. {

7. System.out.print("A");

8. throw new NullPointerException ("Hello");

9. }

10. catch(ArithmeticException e)

11. {

12. System.out.print("B");

13. }

14. }

15. }

a) A
b) B
c) Hello
d) Runtime Exception

Answer: d
Explanation: None.
Output:
$ javac exception_handling.java
$ java exception_handling
Exception in thread "main" java.lang.NullPointerException: Hello
at exception_handling.main

7. What will be the output of the following Java code?

1. public class San


2. {
3. public static void main(String[] args)

4. {

5. try

6. {

7. return;

8. }

9. finally

10. {

11. System.out.println( "Finally" );

12. }

13. }

Downloaded from: https://cse-r17.blogspot.com 102


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

14. }

a) Finally
b) Compilation fails
c) The code runs with no output
d) An exception is thrown at runtime

Answer: a
Explanation: Because finally will execute always.

8. What will be the output of the following Java code?

1. public class San


2. {
3. public static void main(String args[])

4. {

5. try

6. {

7. System.out.print("Hello world ");

8. }

9. finally

10. {

11. System.out.println("Finally executing ");

12. }

13. }

14. }

a) The program will not compile because no exceptions are specified


b) The program will not compile because no catch clauses are specified
c) Hello world
d) Hello world Finally executing

Answer: d
Explanation: None

TOPIC 3.4 BUILT-IN EXCEPTIONS

This section of our 1000+ Java MCQs focuses on keyword finally and built in exceptions of Java Programming Language.

1. Which of these clause will be executed even if no exceptions are found?


a) throws
b) finally
c) throw
d) catch

Answer: b
Explanation: finally keyword is used to define a set of instructions that will be executed irrespective of the exception
found or not.

2. A single try block must be followed by which of these?


a) finally
b) catch

Downloaded from: https://cse-r17.blogspot.com 103


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) finally & catch


d) none of the mentioned

Answer: c
Explanation: try block can be followed by any of finally or catch block, try block checks for exceptions and work is
performed by finally and catch block as per the exception.

3. Which of these exceptions handles the divide by zero error?


a) ArithmeticException
b) MathException
c) IllegalAccessException
d) IllegarException

Answer: a
Explanation: None.

4. Which of these exceptions will occur if we try to access the index of an array beyond its length?
a) ArithmeticException
b) ArrayException
c) ArrayIndexException
d) ArrayIndexOutOfBoundsException

Answer: d
Explanation: ArrayIndexOutOfBoundsException is a built in exception that is caused when we try to access an index
location which is beyond the length of an array.

5. What will be the output of the following Java code?

1. class exception_handling

2. {

3. public static void main(String args[])

4. {

5. try

6. {

7. int a = args.length;

8. int b = 10 / a;

9. System.out.print(a);

10. }

11. catch (ArithmeticException e)

12. {

13. System.out.println("1");

14. }

15. }

16. }

Note : Execution command line : $ java exception_handling


a) 0
b) 1
c) Compilation Error
d) Runtime Error

Downloaded from: https://cse-r17.blogspot.com 104


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: b
Explanation: None.
Output:
$ javac exception_handling.java
$ java exception_handling
1

6. What will be the output of the following Java code?

1. class exception_handling

2. {

3. public static void main(String args[])

4. {

5. try

6. {

7. throw new NullPointerException ("Hello");

8. }

9. catch(ArithmeticException e)

10. {

11. System.out.print("B");

12. }

13. }

14. }

a) A
b) B
c) Compilation Error
d) Runtime Error

Answer: d
Explanation: Try block is throwing NullPointerException but the catch block is used to counter Arithmetic Exception.
Hence NullPointerException occurs since no catch is there which can handle it, runtime error occurs.
Output:
$ javac exception_handling.java
$ java exception_handling
Exception in thread "main" java.lang.NullPointerException: Hello

7. What will be the output of the following Java code?

1. class exception_handling
2. {

3. public static void main(String args[])

4. {

5. try

6. {

7. int a = 1;

8. int b = 10 / a;

Downloaded from: https://cse-r17.blogspot.com 105


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

9. try

10. {

11. if (a == 1)

12. a = a / a - a;

13. if (a == 2)

14. {

15. int c[] = {1};

16. c[8] = 9;

17. }

18. }

19. finally

20. {

21. System.out.print("A");

22. }

23. }

24. catch (Exception e)

25. {

26. System.out.println("B");

27. }

28. }

29. }

a) A
b) B
c) AB
d) BA

Answer: a
Explanation: The inner try block does not have a catch which can tackle ArrayIndexOutOfBoundException hence finally
is executed which prints ‘A’ the outer try block does have catch for ArrayIndexOutOfBoundException exception but no
such exception occurs in it hence its catch is never executed and only ‘A’ is printed.
Output:
$ javac exception_handling.java
$ java exception_handling
A

8. What will be the output of the following Java code?

1. class exception_handling

2. {

3. public static void main(String args[])

4. {

5. try

6. {

Downloaded from: https://cse-r17.blogspot.com 106


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

7. int a = args.length;

8. int b = 10 / a;

9. System.out.print(a);

10. try

11. {

12. if (a == 1)

13. a = a / a - a;

14. if (a == 2)

15. {

16. int []c = {1};

17. c[8] = 9;

18. }

19. }

20. catch (ArrayIndexOutOfBoundException e)

21. {

22. System.out.println("TypeA");

23. }

24. catch (ArithmeticException e)

25. {

26. System.out.println("TypeB");

27. }

28. }

29. }

Note: Execution command line: $ java exception_handling one two


a) TypeA
b) TypeB
c) Compilation Error
d) Runtime Error

Answer: c
Explanation: try without catch or finally
Output:
$ javac exception_handling.java
$ java exception_handling
Main.java:9: error: 'try' without 'catch', 'finally' or resource declarations

TOPIC 3.5 CREATING OWN EXCEPTIONS, STACK TRACE ELEMENTS

This section of our 1000+ Java MCQs focuses on creating exceptions in Java Programming Language.

1. Which of these classes is used to define exceptions?


a) Exception
b) Throwable

Downloaded from: https://cse-r17.blogspot.com 107


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Abstract
d) System

Answer: a
Explanation: None.

2. Which of these methods return description of an exception?


a) getException()
b) getMessage()
c) obtainDescription()
d) obtainException()

Answer: b
Explanation: getMessage() returns a description of the exception.

3. Which of these methods is used to print stack trace?


a) obtainStackTrace()
b) printStackTrace()
c) getStackTrace()
d) displayStackTrace()

Answer: b
Explanation: None.

4. Which of these methods return localized description of an exception?


a) getLocalizedMessage()
b) getMessage()
c) obtainLocalizedMessage()
d) printLocalizedMessage()

Answer: a
Explanation: None.

5. Which of these classes is super class of Exception class?


a) Throwable
b) System
c) RunTime
d) Class

Answer: a
Explanation: None.

6. What will be the output of the following Java code?

1. class Myexception extends Exception

2. {

3. int detail;

4. Myexception(int a)

5. {

6. detail = a;

7. }

8. public String toString()

9. {

10. return "detail";

11. }

Downloaded from: https://cse-r17.blogspot.com 108


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

12. }

13. class Output

14. {

15. static void compute (int a) throws Myexception

16. {

17. throw new Myexception(a);

18. }

19. public static void main(String args[])

20. {

21. try

22. {

23. compute(3);

24. }

25. catch(Myexception e)

26. {

27. System.out.print("Exception");

28. }

29. }

30. }

a) 3
b) Exception
c) Runtime Error
d) Compilation Error

Answer: b
Explanation: Myexception is self defined exception.
Output:
$ javac Output.java
java Output
Exception

7. What will be the output of the following Java code?

1. class Myexception extends Exception

2. {

3. int detail;

4. Myexception(int a)

5. {

6. detail = a;

7. }

8. public String toString()

9. {

Downloaded from: https://cse-r17.blogspot.com 109


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

10. return "detail";

11. }

12. }

13. class Output

14. {

15. static void compute (int a) throws Myexception

16. {

17. throw new Myexception(a);

18. }

19. public static void main(String args[])

20. {

21. try

22. {

23. compute(3);

24. }

25. catch(DevideByZeroException e)

26. {

27. System.out.print("Exception");

28. }

29. }

30. }

a) 3
b) Exception
c) Runtime Error
d) Compilation Error

Answer: c
Explanation: Mexception is self defined exception, we are generating Myexception but catching DevideByZeroException
which causes error.
Output:
$ javac Output.javac

8. What will be the output of the following Java code?

1. class exception_handling

2. {

3. public static void main(String args[])

4. {

5. try

6. {

7. throw new NullPointerException ("Hello");

Downloaded from: https://cse-r17.blogspot.com 110


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

8. System.out.print("A");

9. }

10. catch(ArithmeticException e)

11. {

12. System.out.print("B");

13. }

14. }

15. }

a) A
b) B
c) Compilation Error
d) Runtime Error

Answer: d
Explanation: try block is throwing NullPointerException but the catch block is used to counter Arithmetic Exception.
Hence NullPointerException occurs since no catch is there which can handle it, runtime error occurs.
Output:
$ javac exception_handling.java
$ java exception_handling
Exception in thread "main" java.lang.NullPointerException: Hello

9. What will be the output of the following Java code?

1. class Myexception extends Exception

2. {

3. int detail;

4. Myexception(int a)

5. {

6. detail = a;

7. }

8. public String toString()

9. {

10. return "detail";

11. }

12. }

13. class Output

14. {

15. static void compute (int a) throws Myexception

16. {

17. throw new Myexception(a);

18. }

19. public static void main(String args[])

Downloaded from: https://cse-r17.blogspot.com 111


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

20. {

21. try

22. {

23. compute(3);

24. }

25. catch(Exception e)

26. {

27. System.out.print("Exception");

28. }

29. }

30. }

a) 3
b) Exception
c) Runtime Error
d) Compilation Error

Answer: b
Explanation: Myexception is self defined exception.
Output:
$ javac Output.javac
java Output
Exception

10. What will be the output of the following Java code?

1. class exception_handling

2. {

3. public static void main(String args[])

4. {

5. try

6. {

7. int a = args.length;

8. int b = 10 / a;

9. System.out.print(a);

10. try

11. {

12. if (a == 1)

13. a = a / a - a;

14. if (a == 2)

15. {

16. int c = {1};

17. c[8] = 9;

Downloaded from: https://cse-r17.blogspot.com 112


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

18. }

19. }

20. catch (ArrayIndexOutOfBoundException e)

21. {

22. System.out.println("TypeA");

23. }

24. catch (ArithmeticException e)

25. {

26. System.out.println("TypeB");

27. }

28. }

29. }

30. }

Note : Execution command line : $ java exception_handling one


a) TypeA
b) TypeB
c) Compilation Error
d) Runtime Error

Answer: c
Explanation: try without catch or finally
Output:
$ javac exception_handling.java
$ java exception_handling
error: 'try' without 'catch', 'finally' or resource declarations

TOPIC 3.6 INPUT / OUTPUT BASICS

This section of our 1000+ Java MCQs focuses on creating threads in Java Programming Language.

1. What does AWT stands for?


a) All Window Tools
b) All Writing Tools
c) Abstract Window Toolkit
d) Abstract Writing Toolkit

Answer: c
Explanation: AWT stands for Abstract Window Toolkit, it is used by applets to interact with the user.

2. Which of these is used to perform all input & output operations in Java?
a) streams
b) Variables
c) classes
d) Methods

Answer: a
Explanation: Like in any other language, streams are used for input and output operations.

3. Which of these is a type of stream in Java?


a) Integer stream
b) Short stream

Downloaded from: https://cse-r17.blogspot.com 113


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Byte stream
d) Long stream

Answer: c
Explanation: Java defines only two types of streams – Byte stream and character stream.

4. Which of these classes are used by Byte streams for input and output operation?
a) InputStream
b) InputOutputStream
c) Reader
d) All of the mentioned

Answer: a
Explanation: Byte stream uses InputStream and OutputStream classes for input and output operation.

5. Which of these classes are used by character streams for input and output operations?
a) InputStream
b) Writer
c) ReadStream
d) InputOutputStream

Answer: b
Explanation: Character streams uses Writer and Reader classes for input & output operations.

6. Which of these class is used to read from byte array?


a) InputStream
b) BufferedInputStream
c) ArrayInputStream
d) ByteArrayInputStream

Answer: d
Explanation: None.

7. What will be the output of the following Java program if input given is ‘abcqfghqbcd’?

1. class Input_Output

2. {

3. public static void main(String args[]) throws IOException

4. {

5. char c;

6. BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));

7. do

8. {

9. c = (char) obj.read();

10. System.out.print(c);

11. } while(c != 'q');

12. }

13. }

a) abcqfgh
b) abc
c) abcq
d) abcqfghq

Downloaded from: https://cse-r17.blogspot.com 114


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: None.
Output:
$ javac Input_Output.java
$ java Input_Output
abcq

8. What will be the output of the following Java program if input given is “abc’def/’egh”?

1. class Input_Output

2. {

3. public static void main(String args[]) throws IOException

4. {

5. char c;

6. BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));

7. do

8. {

9. c = (char) obj.read();

10. System.out.print(c);

11. } while(c!='\'');

12. }

13. }

a) abc’
b) abcdef/’
c) abc’def/’egh
d) abcqfghq

Answer: a
Explanation: \’ is used for single quotes that is for representing ‘ .
Output:
$ javac Input_Output.java
$ java Input_Output
abc'

9. What will be the output of the following Java program?

1. class output

2. {

3. public static void main(String args[])

4. {

5. StringBuffer c = new StringBuffer("Hello");

6. System.out.println(c.length());

7. }

8. }

a) 4
b) 5

Downloaded from: https://cse-r17.blogspot.com 115


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) 6
d) 7

Answer: b
Explanation: length() method is used to obtain length of StringBuffer object, length of “Hello” is 5.
Output:
$ javac output.java
$ java output
5

TOPIC 3.7 STREAMS – BYTE STREAMS AND CHARACTER STREAMS

This section of our 1000+ Java MCQs focuses on character streams of Java Programming Language.

1. Which of these stream contains the classes which can work on character stream?
a) InputStream
b) OutputStream
c) Character Stream
d) All of the mentioned

Answer: c
Explanation: InputStream & OutputStream classes under byte stream they are not streams. Character Stream contains all
the classes which can work with Unicode.

2. Which of these class is used to read characters in a file?


a) FileReader
b) FileWriter
c) FileInputStream
d) InputStreamReader

Answer: a
Explanation: None.

3. Which of these method of FileReader class is used to read characters from a file?
a) read()
b) scanf()
c) get()
d) getInteger()

Answer: a
Explanation: None.

4. Which of these class can be used to implement the input stream that uses a character array as the source?
a) BufferedReader
b) FileReader
c) CharArrayReader
d) FileArrayReader

Answer: c
Explanation: CharArrayReader is an implementation of an input stream that uses character array as a source. Here array is
the input source.

5. Which of these classes can return more than one character to be returned to input stream?
a) BufferedReader
b) Bufferedwriter
c) PushbachReader
d) CharArrayReader

Answer: c
Explanation: PushbackReader class allows one or more characters to be returned to the input stream. This allows looking
ahead in input stream and performing action accordingly.

Downloaded from: https://cse-r17.blogspot.com 116


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

6. What will be the output of the following Java program?

1. import java.io.*;

2. class Chararrayinput

3. {

4. public static void main(String[] args)

5. {

6. String obj = "abcdef";

7. int length = obj.length();

8. char c[] = new char[length];

9. obj.getChars(0,length,c,0);

10. CharArrayReader input1 = new CharArrayReader(c);

11. CharArrayReader input2 = new CharArrayReader(c, 0, 3);

12. int i;

13. try

14. {

15. while ((i = input1.read()) != -1)

16. {

17. System.out.print((char)i);

18. }

19. }

20. catch (IOException e)

21. {

22. // TODO Auto-generated catch block

23. e.printStackTrace();

24. }

25. }

26. }

a) abc
b) abcd
c) abcde
d) abcdef

Answer: d
Explanation: None.
Output:
$ javac Chararrayinput.java
$ java Chararrayinput
abcdef

7. What will be the output of the following Java program?

1. import java.io.*;

Downloaded from: https://cse-r17.blogspot.com 117


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

2. class Chararrayinput

3. {

4. public static void main(String[] args)

5. {

6. String obj = "abcdef";

7. int length = obj.length();

8. char c[] = new char[length];

9. obj.getChars(0, length, c, 0);

10. CharArrayReader input1 = new CharArrayReader(c);

11. CharArrayReader input2 = new CharArrayReader(c, 0, 3);

12. int i;

13. try

14. {

15. while ((i = input2.read()) != -1)

16. {

17. System.out.print((char)i);

18. }

19. }

20. catch (IOException e)

21. {

22. // TODO Auto-generated catch block

23. e.printStackTrace();

24. }

25. }

26. }

a) abc
b) abcd
c) abcde
d) abcdef

Answer: a
Explanation: None.
Output:
$ javac Chararrayinput.java
$ java Chararrayinput
abc

8. What will be the output of the following Java program?

1. import java.io.*;

2. class Chararrayinput

3. {

Downloaded from: https://cse-r17.blogspot.com 118


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

4. public static void main(String[] args)

5. {

6. String obj = "abcdefgh";

7. int length = obj.length();

8. char c[] = new char[length];

9. obj.getChars(0, length, c, 0);

10. CharArrayReader input1 = new CharArrayReader(c);

11. CharArrayReader input2 = new CharArrayReader(c, 1, 4);

12. int i;

13. int j;

14. try

15. {

16. while ((i = input1.read()) == (j = input2.read()))

17. {

18. System.out.print((char)i);

19. }

20. }

21. catch (IOException e)

22. {

23. // TODO Auto-generated catch block

24. e.printStackTrace();

25. }

26. }

27. }

a) abc
b) abcd
c) abcde
d) none of the mentioned

Answer: d
Explanation: No output is printed. CharArrayReader object input1 contains string “abcdefgh” whereas object input2
contains string “bcde”, when while((i=input1.read())==(j=input2.read())) is executed the starting character of each object
is compared since they are unequal control comes out of loop and nothing is printed on the screen.
Output:
$ javac Chararrayinput.java
$ java Chararrayinput

TOPIC 3.8 READING CONSOLE

This section of our 1000+ Java MCQs focuses on reading console inputs in Java Programming Language.

1. Which exception is thrown by read() method?


a) IOException

Downloaded from: https://cse-r17.blogspot.com 119


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

b) InterruptedException
c) SystemException
d) SystemInputException

Answer: a
Explanation: read method throws IOException.

2. Which of these is used to read a string from the input stream?


a) get()
b) getLine()
c) read()
d) readLine()

Answer: c
Explanation: None.

3. Which of these class is used to read characters and strings in Java from console?
a) BufferedReader
b) StringReader
c) BufferedStreamReader
d) InputStreamReader

Answer: a
Explanation: None.

4. Which of these class is implemented by FilterInputStream class?


a) InputStream
b) InputOutputStream
c) BufferedInputStream
d) SequenceInputStream

Answer: a
Explanation: FileInputStream implements InputStream.

5. What will be the output of the following Java program if input given is “Hello stop World”?

1. class Input_Output

2. {

3. public static void main(String args[]) throws IOException

4. {

5. string str;

6. BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));

7. do

8. {

9. str = (char) obj.readLine();

10. System.out.print(str);

11. } while(!str.equals("strong"));

12. }

13. }

a) Hello
b) Hello stop
c) World
d) Hello stop World

Downloaded from: https://cse-r17.blogspot.com 120


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: d
Explanation: “stop” will be able to terminate the do-while loop only when it occurs singly in a line. “Hello stop World”
does not terminate the loop.
Output:
$ javac Input_Output.java
$ java Input_Output
Hello stop World

6. What will be the output of the following Java program?

1. class output

2. {

3. public static void main(String args[])

4. {

5. StringBuffer c = new StringBuffer("Hello");

6. StringBuffer c1 = new StringBuffer(" World");

7. c.append(c1);

8. System.out.println(c);

9. }

10. }

a) Hello
b) World
c) Helloworld
d) Hello World

Answer: d
Explanation: append() method of class StringBuffer is used to concatenate the string representation to the end of invoking
string.
Output:
$ javac output.java
$ java output
Hello World

7. What will be the output of the following Java program?

1. class output

2. {

3. public static void main(String args[])

4. {

5. StringBuffer s1 = new StringBuffer("Hello");

6. s1.setCharAt(1,x);

7. System.out.println(s1);

8. }

9. }

a) xello
b) xxxxx

Downloaded from: https://cse-r17.blogspot.com 121


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Hxllo
d) Hexlo

Answer: c
Explanation: None.
Output:
$ javac output.java
$ java output
Hxllo

8. What will be the output of the following Java program if input given is “abc’def/’egh”?

1. class Input_Output

2. {

3. public static void main(String args[]) throws IOException

4. {

5. char c;

6. BufferedReader obj = new BufferedReader(new InputStreamReader(System.in));

7. do

8. {

9. c = (char) obj.read();

10. System.out.print(c);

11. } while(c != '\'');

12. }

13. }

a) abc’
b) abcdef/’
c) abc’def/’egh
d) abcqfghq

Answer: a
Explanation: \’ is used for single quotes that is for representing ‘ .
Output:
$ javac Input_Output.java
$ java Input_Output
abc'

TOPIC 3.9 WRITING CONSOLE

This section of our 1000+ Java MCQs focuses on writing console outputs in Java Programming Language.

1. Which of these class contains the methods print() & println()?


a) System
b) System.out
c) BUfferedOutputStream
d) PrintStream

Answer: d
Explanation: print() and println() are defined under the class PrintStream, System.out is the byte stream used by these
methods .

Downloaded from: https://cse-r17.blogspot.com 122


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

2. Which of these methods can be used to writing console output?


a) print()
b) println()
c) write()
d) all of the mentioned

Answer: d
Explanation: None.

3. Which of these classes are used by character streams output operations?


a) InputStream
b) Writer
c) ReadStream
d) InputOutputStream

Answer: b
Explanation: Character streams uses Writer and Reader classes for input & output operations.

4. Which of these class is used to read from a file?


a) InputStream
b) BufferedInputStream
c) FileInputStream
d) BufferedFileInputStream

Answer: c
Explanation: None.

5. What will be the output of the following Java program?

1. class output

2. {

3. public static void main(String args[])

4. {

5. String a="hello i love java";

6. System.out.println(indexof('i')+" "+indexof('o')+" "+lastIndexof('i')+" "+lastIndexof('o') ));

7. }

8. }

a) 6 4 6 9
b) 5 4 5 9
c) 7 8 8 9
d) 4 3 6 9

Answer: a
Explanation: indexof(‘c’) and lastIndexof(‘c’) are pre defined function which are used to get the index of first and last
occurrence of
the character pointed by c in the given array.
Output:
$ javac output.java
$ java output
6 4 6 9

6. What will be the output of the following Java program?

1. class output

2. {

Downloaded from: https://cse-r17.blogspot.com 123


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

3. public static void main(String args[])

4. {

5. char c[]={'a','1','b',' ','A','0'];

6. for (int i = 0; i < 5; ++i)

7. {

8. if(Character.isDigit(c[i]))

9. System.out.println(c[i]" is a digit");

10. if(Character.isWhitespace(c[i]))

11. System.out.println(c[i]" is a Whitespace character");

12. if(Character.isUpperCase(c[i]))

13. System.out.println(c[i]" is an Upper case Letter");

14. if(Character.isUpperCase(c[i]))

15. System.out.println(c[i]" is a lower case Letter");

16. i = i + 3;

17. }

18. }

19. }

a)
a is a lower case Letter

is White space character

b)

b is a lower case Letter

is White space characte

c)

a is a lower case Letter

A is a upper case Letter

d)
a is a lower case Letter

0 is a digit

Answer: a
Explanation: Character.isDigit(c[i]),Character.isUpperCase(c[i]),Character.isWhitespace(c[i]) are the function of library
java.lang
they are used to find weather the given character is of specified type or not. They return true or false i:e Boolean variable.
Output:
$ javac output.java
$ java output
a is a lower case Letter
is White space character

Downloaded from: https://cse-r17.blogspot.com 124


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

7. What will be the output of the following Java program?

1. class output

2. {

3. public static void main(String args[])

4. {

5. StringBuffer s1 = new StringBuffer("Hello");

6. StringBuffer s2 = s1.reverse();

7. System.out.println(s2);

8. }

9. }

a) Hello
b) olleH
c) HelloolleH
d) olleHHello

Answer: b
Explanation: reverse() method reverses all characters. It returns the reversed object on which it was called.
Output:
$ javac output.java
$ java output
olleH

TOPIC 3.10 READING AND WRITING FILES

This section of our 1000+ Java MCQs focuses on reading & writing files in Java Programming Language.

1. Which of these class contains the methods used to write in a file?


a) FileStream
b) FileInputStream
c) BUfferedOutputStream
d) FileBufferStream

Answer: b
Explanation: None.

2. Which of these exception is thrown in cases when the file specified for writing is not found?
a) IOException
b) FileException
c) FileNotFoundException
d) FileInputException

Answer: c
Explanation: In cases when the file specified is not found, then FileNotFoundException is thrown by java run-time
system, earlier versions of java used to throw IOException but after Java 2.0 they throw FileNotFoundException.

3. Which of these methods are used to read in from file?


a) get()
b) read()
c) scan()
d) readFileInput()

Downloaded from: https://cse-r17.blogspot.com 125


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: b
Explanation: Each time read() is called, it reads a single byte from the file and returns the byte as an integer value. read()
returns -1 when the end of the file is encountered.

4. Which of these values is returned by read() method is end of file (EOF) is encountered?
a) 0
b) 1
c) -1
d) Null

Answer: c
Explanation: Each time read() is called, it reads a single byte from the file and returns the byte as an integer value. read()
returns -1 when the end of the file is encountered.

5. Which of these exception is thrown by close() and read() methods?


a) IOException
b) FileException
c) FileNotFoundException
d) FileInputOutputException

Answer: a
Explanation: Both close() and read() method throw IOException.

6. Which of these methods is used to write() into a file?


a) put()
b) putFile()
c) write()
d) writeFile()

Answer: c
Explanation: None.

7. What will be the output of the following Java program?

1. import java.io.*;

2. class filesinputoutput

3. {

4. public static void main(String args[])

5. {

6. InputStream obj = new FileInputStream("inputoutput.java");

7. System.out.print(obj.available());

8. }

9. }

Note: inputoutput.java is stored in the disk.


a) true
b) false
c) prints number of bytes in file
d) prints number of characters in the file

Answer: c
Explanation: obj.available() returns the number of bytes.
Output:
$ javac filesinputoutput.java
$ java filesinputoutput
1422

Downloaded from: https://cse-r17.blogspot.com 126


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

(Output will be different in your case)

8. What will be the output of the following Java program?

1. import java.io.*;

2. public class filesinputoutput

3. {

4. public static void main(String[] args)

5. {

6. String obj = "abc";

7. byte b[] = obj.getBytes();

8. ByteArrayInputStream obj1 = new ByteArrayInputStream(b);

9. for (int i = 0; i < 2; ++ i)

10. {

11. int c;

12. while((c = obj1.read()) != -1)

13. {

14. if(i == 0)

15. {

16. System.out.print(Character.toUpperCase((char)c));

17. obj2.write(1);

18. }

19. }

20. System.out.print(obj2);

21. }

22. }

23. }

a) AaBaCa
b) ABCaaa
c) AaaBaaCaa
d) AaBaaCaaa

Answer: d
Explanation: None.
Output:
$ javac filesinputoutput.java
$ java filesinputoutput
AaBaaCaaa

9. What will be the output of the following Java program?

1. import java.io.*;

2. class Chararrayinput

3. {

Downloaded from: https://cse-r17.blogspot.com 127


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

4. public static void main(String[] args)

5. {

6. String obj = "abcdef";

7. int length = obj.length();

8. char c[] = new char[length];

9. obj.getChars(0, length, c, 0);

10. CharArrayReader input1 = new CharArrayReader(c);

11. CharArrayReader input2 = new CharArrayReader(c, 0, 3);

12. int i;

13. try

14. {

15. while((i = input2.read()) != -1)

16. {

17. System.out.print((char)i);

18. }

19. }

20. catch (IOException e)

21. {

22. e.printStackTrace();

23. }

24. }

25. }

a) abc
b) abcd
c) abcde
d) abcdef

Answer: a
Explanation: None.
Output:
$ javac Chararrayinput.java
$ java Chararrayinput
abc

10. What will be the output of the following Java program?

1. import java.io.*;

2. class Chararrayinput

3. {

4. public static void main(String[] args)

5. {

6. String obj = "abcdefgh";

Downloaded from: https://cse-r17.blogspot.com 128


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

7. int length = obj.length();

8. char c[] = new char[length];

9. obj.getChars(0, length, c, 0);

10. CharArrayReader input1 = new CharArrayReader(c);

11. CharArrayReader input2 = new CharArrayReader(c, 1, 4);

12. int i;

13. int j;

14. try

15. {

16. while((i = input1.read()) == (j = input2.read()))

17. {

18. System.out.print((char)i);

19. }

20. }

21. catch (IOException e)

22. {

23. e.printStackTrace();

24. }

25. }

26. }

a) abc
b) abcd
c) abcde
d) none of the mentioned

Answer: d
Explanation: No output is printed. CharArrayReader object input1 contains string “abcdefgh” whereas object input2
contains string “bcde”, when while((i=input1.read())==(j=input2.read())) is executed the starting character of each object
is compared since they are unequal control comes out of loop and nothing is printed on the screen.
Output:
$ javac Chararrayinput.java
$ java Chararrayinput

UNIT IV MULTITHREADING AND GENERIC PROGRAMMING


TOPIC 4.1 MULTITHREADING BASICS

This section of our 1000+ Java MCQs focuses on Basics of multithreading of Java Programming Language.

1. What is multithreaded programming?


a) It’s a process in which two different processes run simultaneously
b) It’s a process in which two or more parts of same process run simultaneously

Downloaded from: https://cse-r17.blogspot.com 129


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) It’s a process in which many different process are able to access same information
d) It’s a process in which a single process can access information from many sources

Answer: b
Explanation: Multithreaded programming a process in which two or more parts of the same process run simultaneously.

2. Which of these are types of multitasking?


a) Process based
b) Thread based
c) Process and Thread based
d) None of the mentioned

Answer: c
Explanation: There are two types of multitasking: Process based multitasking and Thread based multitasking.

3. Thread priority in Java is?


a) Integer
b) Float
c) double
d) long

Answer: a
Explanation: Java assigns to each thread a priority that determines hoe that thread should be treated with respect to others.
Thread priority is integers that specify relative priority of one thread to another.

4. What will happen if two thread of the same priority are called to be processed simultaneously?
a) Anyone will be executed first lexographically
b) Both of them will be executed simultaneously
c) None of them will be executed
d) It is dependent on the operating system

Answer: d
Explanation: In cases where two or more thread with same priority are competing for CPU cycles, different operating
system handle this situation differently. Some execute them in time sliced manner some depending on the thread they call.

5. Which of these statements is incorrect?


a) By multithreading CPU idle time is minimized, and we can take maximum use of it
b) By multitasking CPU idle time is minimized, and we can take maximum use of it
c) Two thread in Java can have the same priority
d) A thread can exist only in two states, running and blocked

Answer: d
Explanation: Thread exist in several states, a thread can be running, suspended, blocked, terminated & ready to run.

6. What will be the output of the following Java code?

1. class multithreaded_programing

2. {

3. public static void main(String args[])

4. {

5. Thread t = Thread.currentThread();

6. System.out.println(t);

7. }

8. }

a) Thread[5,main]
b) Thread[main,5]

Downloaded from: https://cse-r17.blogspot.com 130


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Thread[main,0]
d) Thread[main,5,main]

Answer: d
Explanation: None.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
Thread[main,5,main]

7. What is the priority of the thread in the following Java Program?

1. class multithreaded_programing

2. {

3. public static void main(String args[])

4. {

5. Thread t = Thread.currentThread();

6. System.out.println(t);

7. }

8. }

a) 4
b) 5
c) 0
d) 1

Answer: b
Explanation: The output of program is Thread[main,5,main], in this priority assigned to the thread is 5. It’s the default
value. Since we have not named the thread they are named by the group to they belong i:e main method.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
Thread[main,5,main]

8. What is the name of the thread in the following Java Program?

1. class multithreaded_programing

2. {

3. public static void main(String args[])

4. {

5. Thread t = Thread.currentThread();

6. System.out.println(t);

7. }

8. }

a) main
b) Thread
c) System
d) None of the mentioned

Answer: a
Explanation: The output of program is Thread[main,5,main], Since we have not explicitly named the thread they are

Downloaded from: https://cse-r17.blogspot.com 131


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

named by the group to they belong i:e main method. Hence they are named ‘main’.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
Thread[main,5,main]

TOPIC 4.2 DIFFERENCES BETWEEN MULTI-THREADING AND MULTITASKING

1. What requires less resources?


a) Thread
b) Process
c) Thread and Process
d) Neither Thread nor Process

Answer: a
Explanation: Thread is a lightweight and requires less resources to create and exist in the process. Thread shares the
process resources.

2. What does not prevent JVM from terminating?


a) Process
b) Daemon Thread
c) User Thread
d) JVM Thread

Answer: b
Explanation: Daemon thread runs in the background and does not prevent JVM from terminating. Child of daemon thread
is also daemon thread.

3. What decides thread priority?


a) Process
b) Process scheduler
c) Thread
d) Thread scheduler

Answer: d
Explanation: Thread scheduler decides the priority of the thread execution. This cannot guarantee that higher priority
thread will be executed first, it depends on thread scheduler implementation that is OS dependent.

4. What is true about time slicing?


a) Time slicing is OS service that allocates CPU time to available runnable thread
b) Time slicing is the process to divide the available CPU time to available runnable thread
c) Time slicing depends on its implementation in OS
d) Time slicing allocates more resources to thread

Answer: b
Explanation: Time slicing is the process to divide the available CPU time to available runnable thread.

5. Deadlock is a situation when thread is waiting for other thread to release acquired object.
a) True
b) False

Answer: a
Explanation: Deadlock is java programming situation where one thread waits for an object lock that is acquired by other
thread and vice-versa.

6. What should not be done to avoid deadlock?


a) Avoid using multiple threads
b) Avoid hold several locks at once
c) Execute foreign code while holding a lock
d) Use interruptible locks

Downloaded from: https://cse-r17.blogspot.com 132


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: To avoid deadlock situation in Java programming do not execute foreign code while holding a lock.

7. What is true about threading?


a) run() method calls start() method and runs the code
b) run() method creates new thread
c) run() method can be called directly without start() method being called
d) start() method creates new thread and calls code written in run() method

Answer: d
Explanation: start() eventually calls run() method. Start() method creates thread and calls the code written inside run
method.

8. Which of the following is a correct constructor for thread?


a) Thread(Runnable a, String str)
b) Thread(int priority)
c) Thread(Runnable a, int priority)
d) Thread(Runnable a, ThreadGroup t)

Answer: a
Explanation: Thread(Runnable a, String str) is a valid constructor for thread. Thread() is also a valid constructor.

9. Which of the following stops execution of a thread?


a) Calling SetPriority() method on a Thread object
b) Calling notify() method on an object
c) Calling wait() method on an object
d) Calling read() method on an InputStream object

Answer: b
Explanation: notify() wakes up a single thread which is waiting for this object.

10. Which of the following will ensure the thread will be in running state?
a) yield()
b) notify()
c) wait()
d) Thread.killThread()

Answer: c
Explanation: wait() always causes the current thread to go into the object’s wait pool. Hence, using this in a thread will
keep it in running state.

TOPIC 4.3 THREAD LIFE CYCLE

This section of our 1000+ Java MCQs focuses on Thread class of Java Programming Language.

1. Which of these method of Thread class is used to find out the priority given to a thread?
a) get()
b) ThreadPriority()
c) getPriority()
d) getThreadPriority()

Answer: c
Explanation: None.

2. Which of these method of Thread class is used to Suspend a thread for a period of time?
a) sleep()
b) terminate()
c) suspend()
d) stop()

Answer: a
Explanation: None.

Downloaded from: https://cse-r17.blogspot.com 133


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

3. Which function of pre defined class Thread is used to check weather current thread being checked is still running?
a) isAlive()
b) Join()
c) isRunning()
d) Alive()

Answer: a
Explanation:isAlive() function is defined in class Thread, it is used for implementing multithreading and to check whether
the thread called upon is still running or not.

4. What will be the output of the following Java code?

1. class multithreaded_programing

2. {

3. public static void main(String args[])

4. {

5. Thread t = Thread.currentThread();

6. t.setName("New Thread");

7. System.out.println(t);

8. }

9. }

a) Thread[5,main]
b) Thread[New Thread,5]
c) Thread[main,5,main]
d) Thread[New Thread,5,main]

Answer: d
Explanation: None.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
Thread[New Thread,5,main]

5. What is the priority of the thread in output in the following Java program?

1. class multithreaded_programing

2. {

3. public static void main(String args[])

4. {

5. Thread t = Thread.currentThread();

6. t.setName("New Thread");

7. System.out.println(t.getName());

8. }

9. }

a) main
b) Thread
c) New Thread
d) Thread[New Thread,5,main]

Downloaded from: https://cse-r17.blogspot.com 134


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: The getName() function is used to obtain the name of the thread, in this code the name given to thread is
‘New Thread’.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
New Thread

6. What is the name of the thread in output in the following Java program?

1. class multithreaded_programing

2. {

3. public static void main(String args[])

4. {

5. Thread t = Thread.currentThread();

6. System.out.println(t.getPriority());

7. }

8. }

a) 0
b) 1
c) 4
d) 5

Answer: d
Explanation: The default priority given to a thread is 5.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
5

7. What is the name of the thread in output in the following Java program?

1. class multithreaded_programing

2. {

3. public static void main(String args[])

4. {

5. Thread t = Thread.currentThread();

6. System.out.println(t.isAlive());

7. }

8. }

a) 0
b) 1
c) true
d) false

Answer: c
Explanation: Thread t is seeded to currently program, hence when you run the program the thread becomes active & code
‘t.isAlive’ returns true.
Output:

Downloaded from: https://cse-r17.blogspot.com 135


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

$ javac multithreaded_programing.java
$ java multithreaded_programing
true

TOPIC 4.4 CREATING THREADS

This section of our 1000+ Java MCQs focuses on creating threads in Java Programming Language.

1. Which of these keywords are used to implement synchronization?


a) synchronize
b) syn
c) synch
d) synchronized

Answer: d
Explanation: None.

2. Which of this method is used to avoid polling in Java?


a) wait()
b) notify()
c) notifyAll()
d) all of the mentioned

Answer: d
Explanation: Polling is a usually implemented by looping in CPU is wastes CPU time, one thread being executed depends
on other thread output and the other thread depends on the response on the data given to the first thread. In such situation
CPU time is wasted, in Java this is avoided by using methods wait(), notify() and notifyAll().

3. Which of these method is used to tell the calling thread to give up a monitor and go to sleep until some other thread
enters the same monitor?
a) wait()
b) notify()
c) notifyAll()
d) sleep()

Answer: a
Explanation: wait() method is used to tell the calling thread to give up a monitor and go to sleep until some other thread
enters the same monitor. This helps in avoiding polling and minimizes CPU idle time.

4. Which of these method wakes up the first thread that called wait()?
a) wake()
b) notify()
c) start()
d) notifyAll()

Answer: b
Explanation: None.

5. Which of these method wakes up all the threads?


a) wakeAll()
b) notify()
c) start()
d) notifyAll()

Answer: d
Explanation: notifyAll() wakes up all the threads that called wait() on the same object. The highest priority thread will run
first.

6. What is synchronization in reference to a thread?


a) It’s a process of handling situations when two or more threads need access to a shared resource
b) It’s a process by which many thread are able to access same shared resource simultaneously

Downloaded from: https://cse-r17.blogspot.com 136


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) It’s a process by which a method is able to access many different threads simultaneously
d) It’s a method that allow too many threads to access any information the require

Answer: a
Explanation: When two or more threads need to access the same shared resource, they need some way to ensure that the
resource will be used by only one thread at a time, the process by which this is achieved is called synchronization

7. What will be the output of the following Java program?

1. class newthread extends Thread

2. {

3. Thread t;

4. String name;

5. newthread(String threadname)

6. {

7. name = threadname;

8. t = new Thread(this,name);

9. t.start();

10. }

11. public void run()

12. {

13. }

14.
15. }

16. class multithreaded_programing

17. {

18. public static void main(String args[])

19. {

20. newthread obj1 = new newthread("one");

21. newthread obj2 = new newthread("two");

22. try

23. {

24. obj1.t.wait();

25. System.out.print(obj1.t.isAlive());

26. }

27. catch(Exception e)

28. {

29. System.out.print("Main thread interrupted");

30. }

31. }

Downloaded from: https://cse-r17.blogspot.com 137


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

32. }

a) true
b) false
c) Main thread interrupted
d) None of the mentioned

Answer: c
Explanation: obj1.t.wait() causes main thread to go out of processing in sleep state hence causes exception and “Main
thread interrupted” is printed.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
Main thread interrupted

8. What will be the output of the following Java program?

1. class newthread extends Thread

2. {

3. Thread t;

4. String name;

5. newthread(String threadname)

6. {

7. name = threadname;

8. t = new Thread(this,name);

9. t.start();

10. }

11. public void run()

12. {

13. }

14.
15. }

16. class multithreaded_programing

17. {

18. public static void main(String args[])

19. {

20. newthread obj1 = new newthread("one");

21. newthread obj2 = new newthread("two");

22. try

23. {

24. Thread.sleep(1000);

25. System.out.print(obj1.t.isAlive());

26. }

Downloaded from: https://cse-r17.blogspot.com 138


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

27. catch(InterruptedException e)

28. {

29. System.out.print("Main thread interrupted");

30. }

31. }

32. }

a) true
b) false
c) Main thread interrupted
d) None of the mentioned

Answer: b
Explanation: Thread.sleep(1000) has caused all the threads to be suspended for some time, hence onj1.t.isAlive() returns
false.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
false

9. What will be the output of the following Java program?

1. class newthread extends Thread

2. {

3. Thread t;

4. String name;

5. newthread(String threadname)

6. {

7. name = threadname;

8. t = new Thread(this,name);

9. t.start();

10. }

11. public void run()

12. {

13. }

14.
15. }

16. class multithreaded_programing

17. {

18. public static void main(String args[])

19. {

20. newthread obj1 = new newthread("one");

21. newthread obj2 = new newthread("two");

Downloaded from: https://cse-r17.blogspot.com 139


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

22. try

23. {

24. System.out.print(obj1.t.equals(obj2.t));

25. }

26. catch(Exception e)

27. {

28. System.out.print("Main thread interrupted");

29. }

30. }

31. }

a) true
b) false
c) Main thread interrupted
d) None of the mentioned

Answer: b
Explanation: Both obj1 and obj2 have threads with different name that is “one” and “two” hence obj1.t.equals(obj2.t)
returns false.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
false

10. What will be the output of the following Java program?

1. class newthread extends Thread

2. {

3. Thread t;

4. newthread()

5. {

6. t1 = new Thread(this,"Thread_1");

7. t2 = new Thread(this,"Thread_2");

8. t1.start();

9. t2.start();

10. }

11. public void run()

12. {

13. t2.setPriority(Thread.MAX_PRIORITY);

14. System.out.print(t1.equals(t2));

15. }

16. }

17. class multithreaded_programing

Downloaded from: https://cse-r17.blogspot.com 140


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

18. {

19. public static void main(String args[])

20. {

21. new newthread();

22. }

23. }

a) true
b) false
c) truetrue
d) falsefalse

Answer: d
Explanation: This program was previously done by using Runnable interface, here we have used Thread class. This shows
both the method are equivalent, we can use any of them to create a thread.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
falsefalse

TOPIC 4.5 SYNCHRONIZING THREADS

1. Which of this method can be used to make the main thread to be executed last among all the threads?
a) stop()
b) sleep()
c) join()
d) call()

Answer: b
Explanation: By calling sleep() within main(), with long enough delay to ensure that all child threads terminate prior to
the main thread.

2. Which of this method is used to find out that a thread is still running or not?
a) run()
b) Alive()
c) isAlive()
d) checkRun()

Answer: c
Explanation: The isAlive( ) method returns true if the thread upon which it is called is still running. It returns false
otherwise.

3. What is the default value of priority variable MIN_PRIORITY AND MAX_PRIORITY?


a) 0 & 256
b) 0 & 1
c) 1 & 10
d) 1 & 256

Answer: c
Explanation: None.

4. Which of these method waits for the thread to terminate?


a) sleep()
b) isAlive()
c) join()
d) stop()

Downloaded from: https://cse-r17.blogspot.com 141


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: c
Explanation: None.

5. Which of these method is used to explicitly set the priority of a thread?


a) set()
b) make()
c) setPriority()
d) makePriority()

Answer: c
Explanation: The default value of priority given to a thread is 5 but we can explicitly change that value between the
permitted values 1 & 10, this is done by using the method setPriority().

6. What is synchronization in reference to a thread?


a) It’s a process of handling situations when two or more threads need access to a shared resource
b) It’s a process by which many thread are able to access same shared resource simultaneously
c) It’s a process by which a method is able to access many different threads simultaneously
d) It’s a method that allow too many threads to access any information require

Answer: a
Explanation: When two or more threads need to access the same shared resource, they need some way to ensure that the
resource will be used by only one thread at a time, the process by which this is achieved is called synchronization

7. What will be the output of the following Java code?

1. class newthread extends Thread

2. {

3. newthread()

4. {

5. super("My Thread");

6. start();

7. }

8. public void run()

9. {

10. System.out.println(this);

11. }

12. }

13. class multithreaded_programing

14. {

15. public static void main(String args[])

16. {

17. new newthread();

18. }

19. }

a) My Thread
b) Thread[My Thread,5,main]
c) Compilation Error
d) Runtime Error

Downloaded from: https://cse-r17.blogspot.com 142


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: b
Explanation: Although we have not created any object of thread class still we can make a thread pointing to main method,
we can refer it by using this.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
Thread[My Thread,5,main].

8. What will be the output of the following Java code?

1. class newthread extends Thread

2. {

3. Thread t;

4. newthread()

5. {

6. t = new Thread(this,"My Thread");

7. t.start();

8. }

9. public void run()

10. {

11. try

12. {

13. t.join()

14. System.out.println(t.getName());

15. }

16. catch(Exception e)

17. {

18. System.out.print("Exception");

19. }

20. }

21. }

22. class multithreaded_programing

23. {

24. public static void main(String args[])

25. {

26. new newthread();

27. }

28. }

a) My Thread
b) Thread[My Thread,5,main]

Downloaded from: https://cse-r17.blogspot.com 143


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Exception
d) Runtime Error

Answer: d
Explanation: join() method of Thread class waits for thread being called to finish or terminate, but here we have no
condition which can terminate the thread, hence code ‘t.join()’ leads to runtime error and nothing will be printed on the
screen.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing

9. What will be the output of the following Java code?

1. class newthread extends Thread

2. {

3. Thread t;

4. newthread()

5. {

6. t = new Thread(this,"New Thread");

7. t.start();

8. }

9. public void run()

10. {

11. System.out.println(t.isAlive());

12. }

13. }

14. class multithreaded_programing

15. {

16. public static void main(String args[])

17. {

18. new newthread();

19. }

20. }

a) 0
b) 1
c) true
d) false

Answer: c
Explanation: isAlive() method is used to check whether the thread being called is running or not, here thread is the main()
method which is running till the program is terminated hence it returns true.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
true

10. What will be the output of the following Java code?

Downloaded from: https://cse-r17.blogspot.com 144


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

1. class newthread extends Thread

2. {

3. Thread t1,t2;

4. newthread()

5. {

6. t1 = new Thread(this,"Thread_1");

7. t2 = new Thread(this,"Thread_2");

8. t1.start();

9. t2.start();

10. }

11. public void run()

12. {

13. t2.setPriority(Thread.MAX_PRIORITY);

14. System.out.print(t1.equals(t2));

15. }

16. }

17. class multithreaded_programing

18. {

19. public static void main(String args[])

20. {

21. new newthread();

22. }

23. }

a) true
b) false
c) truetrue
d) falsefalse

Answer: d
Explanation: This program was previously done by using Runnable interface, here we have used Thread class. This shows
both the method are equivalent, we can use any of them to create a thread.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
falsefalse

TOPIC 4.6 INTER-THREAD COMMUNICATION, DAEMON THREADS, THREAD GROUPS

1. Which of these method is used to implement Runnable interface?


a) stop()
b) run()

Downloaded from: https://cse-r17.blogspot.com 145


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) runThread()
d) stopThread()

Answer: b
Explanation: To implement Runnable interface, a class needs only to implement a single method called run().

2. Which of these method is used to begin the execution of a thread?


a) run()
b) start()
c) runThread()
d) startThread()

Answer: b
Explanation: None.

3. Which of these statement is incorrect?


a) A thread can be formed by implementing Runnable interface only
b) A thread can be formed by a class that extends Thread class
c) start() method is used to begin execution of the thread
d) run() method is used to begin execution of a thread before start() method in special cases

Answer: d
Explanation: run() method is used to define the code that constitutes the new thread, it contains the code to be executed.
start() method is used to begin execution of the thread that is execution of run(). run() itself is never used for starting
execution of the thread.

4. What will be the output of the following Java code?

1. class newthread implements Runnable

2. {

3. Thread t;

4. newthread()

5. {

6. t = new Thread(this,"My Thread");

7. t.start();

8. }

9. public void run()

10. {

11. System.out.println(t.getName());

12. }

13. }

14. class multithreaded_programing

15. {

16. public static void main(String args[])

17. {

18. new newthread();

19. }

20. }

Downloaded from: https://cse-r17.blogspot.com 146


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

a) My Thread
b) Thread[My Thread,5,main]
c) Compilation Error
d) Runtime Error

Answer: a
Explanation: None.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
My Thread

5. What will be the output of the following Java code?

1. class newthread implements Runnable

2. {

3. Thread t;

4. newthread()

5. {

6. t = new Thread(this,"My Thread");

7. t.start();

8. }

9. public void run()

10. {

11. System.out.println(t);

12. }

13. }

14. class multithreaded_programing

15. {

16. public static void main(String args[])

17. {

18. new newthread();

19. }

20. }

a) My Thread
b) Thread[My Thread,5,main]
c) Compilation Error
d) Runtime Error

Answer: b
Explanation: None.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
Thread[My Thread,5,main]

6. What will be the output of the following Java code?

Downloaded from: https://cse-r17.blogspot.com 147


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

1. class newthread implements Runnable

2. {

3. Thread t;

4. newthread()

5. {

6. t = new Thread(this,"My Thread");

7. t.start();

8. }

9. }

10. class multithreaded_programing

11. {

12. public static void main(String args[])

13. {

14. new newthread();

15. }

16. }

a) My Thread
b) Thread[My Thread,5,main]
c) Compilation Error
d) Runtime Error

Answer: c
Explanation: Thread t has been made by using Runnable interface, hence it is necessary to use inherited abstract method
run() method to specify instructions to be implemented on the thread, since no run() method is used it gives a compilation
error.
Output:
$ javac multithreaded_programing.java
The type newthread must implement the inherited abstract method Runnable.run()

7. What will be the output of the following Java code?

1. class newthread implements Runnable

2. {

3. Thread t;

4. newthread()

5. {

6. t = new Thread(this,"New Thread");

7. t.start();

8. }

9. public void run()

10. {

11. t.setPriority(Thread.MAX_PRIORITY);

Downloaded from: https://cse-r17.blogspot.com 148


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

12. System.out.println(t);

13. }

14. }

15. class multithreaded_programing

16. {

17. public static void main(String args[])

18. {

19. new newthread();

20. }

21. }

a) Thread[New Thread,0,main]
b) Thread[New Thread,1,main]
c) Thread[New Thread,5,main]
d) Thread[New Thread,10,main]

Answer: d
Explanation: Thread t has been made with default priority value 5 but in run method the priority has been explicitly
changed to MAX_PRIORITY of class thread, that is 10 by code ‘t.setPriority(Thread.MAX_PRIORITY);’ using the
setPriority function of thread t.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
Thread[New Thread,10,main]

8. What will be the output of the following Java code?

1. class newthread implements Runnable

2. {

3. Thread t;

4. newthread()

5. {

6. t1 = new Thread(this,"Thread_1");

7. t2 = new Thread(this,"Thread_2");

8. t1.start();

9. t2.start();

10. }

11. public void run()

12. {

13. t2.setPriority(Thread.MAX_PRIORITY);

14. System.out.print(t1.equals(t2));

15. }

16. }

17. class multithreaded_programing

Downloaded from: https://cse-r17.blogspot.com 149


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

18. {

19. public static void main(String args[])

20. {

21. new newthread();

22. }

23. }

a) true
b) false
c) truetrue
d) falsefalse

Answer: d
Explanation: Threads t1 & t2 are created by class newthread that is implementing runnable interface, hence both the
threads are provided their own run() method specifying the actions to be taken. When constructor of newthread class is
called first the run() method of t1 executes than the run method of t2 printing 2 times “false” as both the threads are not
equal one is having different priority than other, hence falsefalse is printed.
Output:
$ javac multithreaded_programing.java
$ java multithreaded_programing
falsefalse

TOPIC 4.7 GENERIC PROGRAMMING AND GENERIC CLASSES

1. What will be the output of the following Java code?

1. import java.util.*;

2. public class genericstack <E>

3. {

4. Stack <E> stk = new Stack <E>();

5. public void push(E obj)

6. {

7. stk.push(obj);

8. }

9. public E pop()

10. {

11. E obj = stk.pop();

12. return obj;

13. }

14. }

15. class Output

16. {

17. public static void main(String args[])

18. {

Downloaded from: https://cse-r17.blogspot.com 150


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

19. genericstack <String> gs = new genericstack<String>();

20. gs.push("Hello");

21. System.out.println(gs.pop());

22. }

23. }

a) H
b) Hello
c) Runtime Error
d) Compilation Error

Answer: b
Explanation: None.
Output:
$ javac Output.javac
$ java Output
Hello

2. What will be the output of the following Java code?

1. import java.util.*;

2. public class genericstack <E>

3. {

4. Stack <E> stk = new Stack <E>();

5. public void push(E obj)

6. {

7. stk.push(obj);

8. }

9. public E pop()

10. {

11. E obj = stk.pop();

12. return obj;

13. }

14. }

15. class Output

16. {

17. public static void main(String args[])

18. {

19. genericstack <Integer> gs = new genericstack<Integer>();

20. gs.push(36);

21. System.out.println(gs.pop());

22. }

23. }

Downloaded from: https://cse-r17.blogspot.com 151


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

a) 0
b) 36
c) Runtime Error
d) Compilation Error

Answer: b
Explanation: None.
Output:
$ javac Output.javac
$ java Output
36

3. What will be the output of the following Java code?

1. import java.util.*;

2. public class genericstack <E>

3. {

4. Stack <E> stk = new Stack <E>();

5. public void push(E obj)

6. {

7. stk.push(obj);

8. }

9. public E pop()

10. {

11. E obj = stk.pop();

12. return obj;

13. }

14. }

15. class Output

16. {

17. public static void main(String args[])

18. {

19. genericstack <String> gs = new genericstack<String>();

20. gs.push("Hello");

21. System.out.print(gs.pop() + " ");

22. genericstack <Integer> gs = new genericstack<Integer>();

23. gs.push(36);

24. System.out.println(gs.pop());

25. }

26. }

a) Error
b) Hello

Downloaded from: https://cse-r17.blogspot.com 152


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) 36
d) Hello 36

Answer: d
Explanation: None.
Output:
$ javac Output.javac
$ java Output
Hello 36

4. What will be the output of the following Java program?

1. import java.util.*;

2. public class genericstack <E>

3. {

4. Stack <E> stk = new Stack <E>();

5. public void push(E obj)

6. {

7. stk.push(obj);

8. }

9. public E pop()

10. {

11. E obj = stk.pop();

12. return obj;

13. }

14. }

15. class Output

16. {

17. public static void main(String args[])

18. {

19. genericstack <Integer> gs = new genericstack<Integer>();

20. gs.push(36);

21. System.out.println(gs.pop());

22. }

23. }

a) H
b) Hello
c) Runtime Error
d) Compilation Error

Answer: d
Explanation: genericstack’s object gs is defined to contain a string parameter but we are sending an integer parameter,
which results in compilation error.
Output:

Downloaded from: https://cse-r17.blogspot.com 153


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

$ javac Output.javac
$ java Output

5. What will be the output of the following Java program?

1. import java.util.*;

2. public class genericstack <E>

3. {

4. Stack <E> stk = new Stack <E>();

5. public void push(E obj)

6. {

7. stk.push(obj);

8. }

9. public E pop()

10. {

11. E obj = stk.pop();

12. return obj;

13. }

14. }

15. class Output

16. {

17. public static void main(String args[])

18. {

19. genericstack <Integer> gs = new genericstack<Integer>();

20. gs.push(36);

21. System.out.println(gs.pop());

22. }

23. }

a) H
b) Hello
c) Runtime Error
d) Compilation Error

Answer: d
Explanation: generic stack object gs is defined to contain a string parameter but we are sending an integer parameter,
which results in compilation error.
Output:
$ javac Output.javac
$ java Output

6. Which of these Exception handlers cannot be type parameterized?


a) catch
b) throw
c) throws
d) all of the mentioned

Downloaded from: https://cse-r17.blogspot.com 154


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: d
Explanation: we cannot Create, Catch, or Throw Objects of Parameterized Types as generic class cannot extend the
Throwable class directly or indirectly.

7. Which of the following cannot be Type parameterized?


a) Overloaded Methods
b) Generic methods
c) Class methods
d) Overriding methods

Answer: a
Explanation: Cannot Overload a Method Where the Formal Parameter Types of Each Overload Erase to the Same Raw
Type.

TOPIC 4.8 GENERIC METHODS

1. What are generic methods?


a) Generic methods are the methods defined in a generic class
b) Generic methods are the methods that extend generic class methods
c) Generic methods are methods that introduce their own type parameters
d) Generic methods are methods that take void parameters

Answer: c
Explanation: Generic methods are methods that introduce their own type parameters. This is similar to declaring a generic
type, but the type parameter scope is limited to the method where it is declared. Static and non-static generic methods are
allowed, as well as generic class constructors.

2. Which of these type parameters is used for a generic methods to return and accept any type of object?
a) K
b) N
c) T
d) V

Answer: c
Explanation: T is used for type, A type variable can be any non-primitive type you specify: any class type, any interface
type, any array type, or even another type variable.

3. Which of these type parameters is used for a generic methods to return and accept a number?
a) K
b) N
c) T
d) V

Answer: b
Explanation: N is used for Number.

4. Which of these is an correct way of defining generic method?


a) <T1, T2, …, Tn> name(T1, T2, …, Tn) { /* … */ }
b) public <T1, T2, …, Tn> name<T1, T2, …, Tn> { /* … */ }
c) class <T1, T2, …, Tn> name[T1, T2, …, Tn] { /* … */ }
d) <T1, T2, …, Tn> name{T1, T2, …, Tn} { /* … */ }

Answer: b
Explanation: The syntax for a generic method includes a type parameter, inside angle brackets, and appears before the
method’s return type. For static generic methods, the type parameter section must appear before the method’s return type.

5. Which of the following allows us to call generic methods as a normal method?


a) Type Interface
b) Interface
c) Inner class
d) All of the mentioned

Downloaded from: https://cse-r17.blogspot.com 155


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

Answer: a
Explanation: Type inference, allows you to invoke a generic method as an ordinary method, without specifying a type
between angle brackets.

6. What will be the output of the following Java program?

1. import java.util.*;

2. public class genericstack <E>

3. {

4. Stack <E> stk = new Stack <E>();

5. public void push(E obj)

6. {

7. stk.push(obj);

8. }

9. public E pop()

10. {

11. E obj = stk.pop();

12. return obj;

13. }

14. }

15. class Output

16. {

17. public static void main(String args[])

18. {

19. genericstack <String> gs = new genericstack<String>();

20. gs.push("Hello");

21. System.out.println(gs.pop());

22. }

23. }

a) H
b) Hello
c) Runtime Error
d) Compilation Error

Answer: b
Explanation: None.
Output:
$ javac Output.javac
$ java Output
Hello

7. What will be the output of the following Java program?

1. import java.util.*;

Downloaded from: https://cse-r17.blogspot.com 156


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

2. public class genericstack <E>

3. {

4. Stack <E> stk = new Stack <E>();

5. public void push(E obj)

6. {

7. stk.push(obj);

8. }

9. public E pop()

10. {

11. E obj = stk.pop();

12. return obj;

13. }

14. }

15. class Output

16. {

17. public static void main(String args[])

18. {

19. genericstack <Integer> gs = new genericstack<Integer>();

20. gs.push(36);

21. System.out.println(gs.pop());

22. }

23. }

a) 0
b) 36
c) Runtime Error
d) Compilation Error

Answer: b
Explanation: None.
Output:
$ javac Output.javac
$ java Output
36

8. What will be the output of the following Java program?

1. import java.util.*;

2. public class genericstack <E>

3. {

4. Stack <E> stk = new Stack <E>();

5. public void push(E obj)

6. {

Downloaded from: https://cse-r17.blogspot.com 157


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

7. stk.push(obj);

8. }

9. public E pop()

10. {

11. E obj = stk.pop();

12. return obj;

13. }

14. }

15. class Output

16. {

17. public static void main(String args[])

18. {

19. genericstack <String> gs = new genericstack<String>();

20. gs.push("Hello");

21. System.out.print(gs.pop() + " ");

22. genericstack <Integer> gs = new genericstack<Integer>();

23. gs.push(36);

24. System.out.println(gs.pop());

25. }

26. }

a) Error
b) Hello
c) 36
d) Hello 36

Answer: d
Explanation: None.
Output:
$ javac Output.javac
$ java Output
Hello 36

TOPIC 4.9 BOUNDED TYPES – RESTRICTIONS AND LIMITATIONS

1. Which of these types cannot be used to initiate a generic type?


a) Integer class
b) Float class
c) Primitive Types
d) Collections

Answer: c
Explanation: None.

2. Which of these instance cannot be created?


a) Integer instance
b) Generic class instance

Downloaded from: https://cse-r17.blogspot.com 158


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) Generic type instance


d) Collection instances

Answer: c
Explanation: It is not possible to create generic type instances. Example – “E obj = new E()” will give a compilation error.

3. Which of these data type cannot be type parameterized?


a) Array
b) List
c) Map
d) Set

Answer: a
Explanation: None.

4. What will be the output of the following Java program?

1. public class BoxDemo

2. {

3. public static <U> void addBox(U u,

4. java.util.List<Box<U>> boxes)

5. {

6. Box<U> box = new Box<>();

7. box.set(u);

8. boxes.add(box);

9. }

10. public static <U> void outputBoxes(java.util.List<Box<U>> boxes)

11. {

12. int counter = 0;

13. for (Box<U> box: boxes)

14. {

15. U boxContents = box.get();

16. System.out.println("Box #" + counter + " contains [" + boxContents.toString() + "]");

17. counter++;

18. }

19. }

20. public static void main(String[] args)

21. {

22. java.util.ArrayList<Box<Integer>> listOfIntegerBoxes = new java.util.ArrayList<>();

23. BoxDemo.<Integer>addBox(Integer.valueOf(10), listOfIntegerBoxes);

24. BoxDemo.outputBoxes(listOfIntegerBoxes);

25. }

26. }

Downloaded from: https://cse-r17.blogspot.com 159


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

a) 10
b) Box #0 [10]
c) Box contains [10]
d) Box #0 contains [10]

Answer: d
Explanation: None.
Output:
$ javac Output.java
$ java Output
Box #0 contains [10]

5. What will be the output of the following Java program?

1. import java.util.*;

2. public class genericstack <E>

3. {

4. Stack <E> stk = new Stack <E>();

5. public void push(E obj)

6. {

7. stk.push(obj);

8. }

9. public E pop()

10. {

11. E obj = stk.pop();

12. return obj;

13. }

14. }

15. class Output

16. {

17. public static void main(String args[])

18. {

19. genericstack <String> gs = new genericstack<String>();

20. gs.push("Hello");

21. System.out.print(gs.pop() + " ");

22. genericstack <Integer> gs = new genericstack<Integer>();

23. gs.push(36);

24. System.out.println(gs.pop());

25. }

26. }

a) Error
b) Hello

Downloaded from: https://cse-r17.blogspot.com 160


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c) 36
d) Hello 36

Answer: d
Explanation: None.
Output:
$ javac Output.java
$ java Output
Hello 36

6. What will be the output of the following Java program?

1. import java.util.*;

2. class Output

3. {

4. public static double sumOfList(List<? extends Number> list)

5. {

6. double s = 0.0;

7. for (Number n : list)

8. s += n.doubleValue();

9. return s;

10. }

11. public static void main(String args[])

12. {

13. List<Double> ld = Arrays.asList(1.2, 2.3, 3.5);

14. System.out.println(sumOfList(ld));

15. }

16. }

a) 5.0
b) 7.0
c) 8.0
d) 6.0

Answer: b
Explanation: None.
Output:
$ javac Output.java
$ java Output
7.0

7. What will be the output of the following Java program?

1. import java.util.*;

2. class Output

3. {

4. public static void addNumbers(List<? super Integer> list)

5. {

Downloaded from: https://cse-r17.blogspot.com 161


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

6. for (int i = 1; i <= 10; i++)

7. {

8. list.add(i);

9. }

10. }

11. public static void main(String args[])

12. {

13. List<Double> ld = Arrays.asList();

14. addnumbers(10.4);

15. System.out.println("getList(2)");

16. }

17. }

a) 1
b) 2
c) 3
d) 6

Answer: a
Explanation: None.
Output:
$ javac Output.java
$ java Output
1

8. What will be the output of the following Java program?

1. import java.util.*;

2. public class genericstack <E>

3. {

4. Stack <E> stk = new Stack <E>();

5. public void push(E obj)

6. {

7. stk.push(obj);

8. }

9. public E pop()

10. {

11. E obj = stk.pop();

12. return obj;

13. }

14. }

15. class Output

16. {

Downloaded from: https://cse-r17.blogspot.com 162


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

17. public static void main(String args[])

18. {

19. genericstack <Integer> gs = new genericstack<Integer>();

20. gs.push(36);

21. System.out.println(gs.pop());

22. }

23. }

a) H
b) Hello
c) Runtime Error
d) Compilation Error

Answer: d
Explanation: generic stack object gs is defined to contain a string parameter but we are sending an integer parameter,
which results in compilation error.
Output:
$ javac Output.java

UNIT V EVENT DRIVEN PROGRAMMING


TOPIC 5.1 AWT (ABSTRACT WINDOW TOOLKIT)

1) Where are the following four methods commonly used?

1) public void add(Component c)


2) public void setSize(int width,int height)
3) public void setLayout(LayoutManager m)
4) public void setVisible(boolean)
a. Graphics class
b. Component class
c. Both A & B
d. None of the above

ANSWER: Component class

2) Implement the Listener interface and overrides its methods is required to perform in event handling.
a. True
b. False

ANSWER: True

3) Which is the container that doesn't contain title bar and MenuBars but it can have other components like
button, textfield etc?
a. Window
b. Frame
c. Panel
d. Container

ANSWER: Panel

Downloaded from: https://cse-r17.blogspot.com 163


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

4) These two ways are used to create a Frame

By creating the object of Frame class (association)


By extending Frame class (inheritance)
a. True
b. False

ANSWER: True

5) Give the abbreviation of AWT?


a. Applet Windowing Toolkit
b. Abstract Windowing Toolkit
c. Absolute Windowing Toolkit
d. None of the above

ANSWER: Abstract Windowing Toolkit

6) Which method is used to set the graphics current color to the specified color in the graphics class?
a. public abstract void setFont(Font font)
b. public abstract void setColor(Color c)
c. public abstract void drawString(String str, int x, int y)
d. None of the above

ANSWER: public abstract void setColor(Color c)

7) The Java Foundation Classes (JFC) is a set of GUI components which simplify the development of desktop
applications.
a. True
b. False

ANSWER: True

8) In Graphics class which method is used to draws a rectangle with the specified width and height?
a. public void drawRect(int x, int y, int width, int height)
b. public abstract void fillRect(int x, int y, int width, int height)
c. public abstract void drawLine(int x1, int y1, int x2, int y2)
d. public abstract void drawOval(int x, int y, int width, int height)

ANSWER: public void drawRect(int x, int y, int width, int height)

9) Which object can be constructed to show any number of choices in the visible window?
a. Labels
b. Choice
c. List
d. Checkbox

ANSWER: List

10) Which is used to store data and partial results, as well as to perform dynamic linking, return values for
methods, and dispatch exceptions?
a. Window
b. Panel

Downloaded from: https://cse-r17.blogspot.com 164


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

c. Frame
d. Container

ANSWER: Frame

11) Which class is used for this Processing Method processActionEvent( )?


a. Button,List,MenuItem
b. Button,Checkbox,Choice
c. Scrollbar,Component,Button
d. None of the above

ANSWER: Button,List,MenuItem

12) Which method can set or change the text in a Label?


- Published on 20 Jul 15

a. setText()
b. getText()
c. All the above
d. None of the above

ANSWER: setText()

13) Which is a component in AWT that can contain another components like buttons, textfields, labels etc.?
a. Window
b. Container
c. Panel
d. Frame

ANSWER: Container

14) AWT has more powerful components like tables, lists, scroll panes, color chooser, tabbed pane etc.
a. True
b. False

ANSWER: True

15) Which are passive controls that do not support any interaction with the user?
a. Choice
b. List
c. Labels
d. Checkbox

ANSWER: Labels

16) How many types of controls does AWT support?


a. 7
b. 6
c. 5
d. 8

ANSWER: 7

Downloaded from: https://cse-r17.blogspot.com 165


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

17) The following


a) It is lightweight.
b) It supports pluggable look and feel.
c) It follows MVC (Model View Controller) architecture
are the advantages of _____ .
a. Swing
b. AWT
c. Both A & B
d. None of the above

ANSWER: Swing

18) The ActionListener interface is not used for handling action events.
a. True
b. False

ANSWER: False

19) Which package provides many event classes and Listener interfaces for event handling?
a. java.awt
b. java.awt.Graphics
c. java.awt.event
d. None of the above

ANSWER: java.awt.event

20) Swing is not a part of JFC (Java Foundation Classes) that is used to create GUI application
a. True
b. False

ANSWER: False

21) The Following steps are required to perform

1) Implement the Listener interface and overrides its methods


2) Register the component with the Listener
a. Exception Handling
b. String Handling
c. Event Handling
d. None of the above

ANSWER: Event Handling

22) Where can the event handling code be written?


a. Same class
b. Other class
c. Anonymous class
d. All mentioned above

ANSWER: All mentioned above

23) Which class provides many methods for graphics programming?

Downloaded from: https://cse-r17.blogspot.com 166


CS8392 OBJECT ORIENTED PROGRAMMING CSE - Regulations 2017

a. java.awt
b. java.Graphics
c. java.awt.Graphics
d. None of the above

ANSWER: java.awt.Graphics

24) AWT is used for GUI programming in java


a. True
b. False

ANSWER: True

25) The ActionListener interface is not used for handling action events
a. True
b. False

ANSWER: False

Downloaded from: https://cse-r17.blogspot.com 167

You might also like