Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Questions and Answers Q.1) What is the output of this program? in w .a p tio nl A. 1 B. 30 C. 120 D. 720 ANSWER : 720 SOLUTION : Output: $ javac Output.javac $ java Output 720 e. co m class recursion { int fact(int n) { int result; if (n == 1) return 1; result = fact(n - 1) * n; return result; } } class Output { public static void main(String args[]) { recursion obj = new recursion() ; System.out.print(obj.fact(6)); } } Q.2) To disallow a method from being overridden, specify final as a modifier at the start of its declaration. Methods declared as final cannot be overridden. w A. super(void); B. superclass.(); C. super.A(); D. super(); w ANSWER : super(); SOLUTION : super() is used to invoke immediate parent class constructor. Q.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 : constructor SOLUTION : 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. Q.4) What is the output of this program? class equality { int x; int y; boolean isequal(){ return(x == y); } Page 1 Questions and Answers e. co m } class Output { public static void main(String args[]) { equality obj = new equality(); obj.x = 5; obj.y = 5; System.out.println(obj.isequal); } } A. false B. true C. 0 D. 1 nl in ANSWER : true SOLUTION : output: $ javac Output.java $ java Output true w w w .a p tio Q.5) What is the output of this program? class box { int width; int height; int length; int volume; void volume(int height, int length, int width) { volume = width * height * length; } } class Prameterized_method{ public static void main(String args[]) { box obj = new box(); obj.height = 1; obj.length = 5; obj.width = 5; obj.volume(3, 2, 1); System.out.println(obj.volume); } } A. 0 B. 1 C. 6 D. 25 ANSWER : 6 SOLUTION : output: $ Prameterized_method.java $ Prameterized_method 6 Q.6) Which of these will happen if recursive method does not have a base case? A. An infinite loop occurs B. System stops the program after some time. C. After 1000000 calls it will be automatically stopped. D. None of the mentioned Page 2 Questions and Answers e. co m ANSWER : An infinite loop occurs SOLUTION : If a recursive method does not have a base case then an infinite loop occurs which results in stackoverflow. Q.7) What is the output of this program? w .a p tio nl in class area { int width; int length; int volume; area() { width=5; length=6; } void volume() { volume = width*height*length; } } class cons_method { public static void main(String args[]) { area obj = new area(); obj.volume(); System.out.println(obj.volume); } } A. 0 B. 1 C. 25 D. 30 w w ANSWER : 30 SOLUTION : output: $ javac cons_method.java $ java cons_method 30 Q.8) Which of these statement is incorrect? A. Two or more methods with same name can be diffrenciated on the basis of their parameters data type. B. Two or more method having same name can be diffrentiated on basis of number of parameters. C. Any already defined method in java's library can be defined again in the program with diffrent data type of parameters. D. If a method is returning a value the calling statement must have a variable to store that value. ANSWER : If a method is returning a value the calling statement must have a variable to store that value. SOLUTION : Even if a method is returning a value, it is not necessary to store that value. Q.9) What is the output of this program? class box { int width; int height; Page 3 Questions and Answers in w .a p ANSWER : 5 SOLUTION : output: $ javac Output.java $ java Output 5 tio A. 0 B. 5 C. 25 D. 26 nl } class Output { public static void main(String args[]) { box obj = new box(); obj.height = 1; obj.length = 5; obj.width = 5; obj.volume(5); System.out.println(obj.volume); } } e. co m int length; int volume; void volume() { volume = width * height * length; } void volume(int x) { volume = x; } Q.10) Which of these statement is incorrect? w A. All object of a class are allotted memory for the all the variables defined in the class. w 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 : All object of a class are allotted memory for the methods defined in the class. SOLUTION : 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. Q.11) What is the output of this program? class box { int width; int height; int length; int volume; void volume(int height, int length, int width) { volume = width*height*length; } } class Prameterized_method{ public static void main(String args[]) { box obj = new box(); Page 4 Questions and Answers obj.height = 1; obj.length = 5; obj.width = 5; obj.volume(3,2,1); System.out.println(obj.volume); } e. co m } A. 0 B. 1 C. 6 D. 25 nl in ANSWER : 6 SOLUTION : output: $ Prameterized_method.java $ Prameterized_method 6 w .a p A. Polymorphism B. Abstraction C. Encapsulation D. Recursion tio Q.12) What is the process of defining a method in terms of itself, that is a method that calls itself? ANSWER : Recursion SOLUTION : Recursion is when a function calls itself. That is, in the course of the function definition there is a call to that very same function. w w Q.13) What is the output of this program? class area { int width; int length; int volume; area() { width = 5; length = 6; } void volume() { volume = width * height * length; } } class cons_method { public static void main(String args[]) { area obj = new area(); obj.volume(); System.out.println(obj.volume); } } A. 0 B. 1 C. 25 D. 30 ANSWER : 30 Page 5 Questions and Answers tio nl A. 1 B. 2 C. Runtime Error D. Compilation Error in Q.14) What is the output of this program? class Output { static void main(String args[]) { int x , y = 1; x = 10; if (x != 10 && x / 0 == 0) System.out.println(y); else System.out.println(++y); } } e. co m SOLUTION : $ javac cons_method.java $ java cons_method 30 w .a p ANSWER : Compilation Error SOLUTION : main() method must be made public. Without main() being public java run time system will not be able to access main() and will not be able to execute the code. output: $ javac Output.java Error: Main method not found in class Output, please define the main method as: public static void main(String[] args) Q.15) Which of these can be overloaded? w w A. Methods B. Constructors C. Both a & b D. None of the mentioned ANSWER : Both a & b SOLUTION : Methods with the same name in a class are called overloaded methods. Overloading methods has no specific benefit but it is useful to mean that several methods do the same things but with different parameters. The constructor can be overloaded. You can define more than one constructor with different parameters. Q.16) What is the output of this program? class test { int a; int b; test(int i, int j) { a = i; b = j; } void meth(test o) { o.a *= 2; O.B /= 2; } } class Output { Page 6 Questions and Answers public static void main(String args[]) { test obj = new test(10 , 20); obj.meth(obj); System.out.println(obj.a + " " + obj.b); } e. co m } A. 10 20 B. 20 10 C. 20 40 D. 40 20 tio nl in ANSWER : 20 40 SOLUTION : 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 & 40 respectively. output: $ javac Output.java $ java Output 20 40 w w w .a p Q.17) What is the output of this program? class recursion { int func (int n) { int result; result = func (n - 1); return result; } } class Output { public static void main(String args[]) { recursion obj = new recursion() ; System.out.print(obj.func(12)); } } A. 0 B. 1 C. Compilation Error D. Runtime Error ANSWER : Runtime Error SOLUTION : Since the base case of the recursive function func() is not defined hence infinite loop occurs and results in stackoverflow. Output: $ javac Output.javac $ java Output Exception in thread main java.lang.StackOverflowError Q.18) What is the output of this program? class recursion { int fact(int n) { int result; if (n == 1) return 1; result = fact(n - 1) * n; return result; Page 7 Questions and Answers e. co m } } class Output { public static void main(String args[]) { recursion obj = new recursion() ; System.out.print(obj.fact(1)); } } A. 1 B. 30 C. 120 D. Runtime Error tio nl in ANSWER : 1 SOLUTION : Explanation: fact() method recursively calculates factorial of a number, when value of n reaches 1, base case is excuted and 1 is returned. Output: $ javac Output.javac $ java Output 1 w w w .a p Q.19) What is the output of this program? class A { public void display() { System.out.println("A"); } } class B extends A { public void display() { System.out.println("B"); } } class Dynamic_dispatch { public static void main(String args[]) { A obj1 = new A(); B obj2 = new B(); A r; r = obj1; r.display(); r = obj2; r.display(); } } A. A B B. B A C. Runtime Error D. Compilation Error ANSWER : A B SOLUTION : Call to display function of class A and class B is made by using dynamic method dispatch, by using this method a call to an overridden function is resolved at run time, rather than at compilation time. output: $ javac Dynamic_dispatch.java $ java Dynamic_dispatch AB Page 8 Questions and Answers Q.20) What is the return type of a method that does not returns any value? e. co m A. int B. float C. void D. double ANSWER : void SOLUTION : Return type of an method must be made void if it is not returning any value. Q.21) Which keyword is used by method to refer to the object that invoked it? in A. import B. catch C. abstract D. this tio nl ANSWER : this SOLUTION : this keyword can be used inside any method to refer to the current object. this is always a reference to the object on which the method was invoked. Q.22) 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. w .a p 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. w w ANSWER : Copy of argument is made into the formal parameter of the subroutine. SOLUTION : 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. Q.23) What is the output of this program? class box { int width; int height; int length; int volume; void volume() { volume = width*height*length; } } class Output { public static void main(String args[]) { box obj = new box(); obj.height = 1; obj.length = 5; obj.width = 5; obj.volume(); System.out.println(obj.volume); } } Page 9 Questions and Answers A. 0 B. 1 C. 25 D. 26 in w .a p tio nl Q.24) What is the output of this program? class recursion { int func (int n) { int result; if (n == 1) return 1; result = func (n - 1); return result; } } class Output { public static void main(String args[]) { recursion obj = new recursion() ; System.out.print(obj.func(5)); } } e. co m ANSWER : 25 SOLUTION : $ javac Output.java $ java Output 25 A. 0 B. 1 C. 120 D. None of the mentioned w w ANSWER : 1 SOLUTION : Explanation: Output: $ javac Output.javac $ java Output 1 Q.25) Which of these keywords can be used to prevent Method overriding? A. static B. constant C. protected D. final ANSWER : final SOLUTION : To disallow a method from being overridden, specify final as a modifier at the start of its declaration. Methods declared as final cannot be overridden. Q.26) What is the output of this program? class Output { static void main(String args[]) { int x , y = 1; x = 10; Page 10 Questions and Answers if(x != 10 && x / 0 == 0) System.out.println(y); else System.out.println(++y); } e. co m } A. 1 B. 2 C. Runtime Error D. Compilation Error nl in ANSWER : Compilation Error SOLUTION : main() method must be made public. Without main() being public java run time system will not be able to access main() and will not be able to execute the code. output: $ javac Output.java Error: Main method not found in class Output, please define the main method as: public static void main(String[] args) tio Q.27) Which of the following statements are incorrect? A. public members of class can be accessed by any code in the program. w .a p 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 sub class, and become protected members in sub class. D. ) protected members of a class can be inherited by a sub class, and become private members of the sub class. w ANSWER : private members of class can be inherited by a sub class, and become protected members in sub class. SOLUTION : private members of a class cannot be inherited by a sub class. w Q.28) What is the output of this program? class recursion { int fact(int n) { int result; if (n == 1) return 1; result = fact(n - 1) * n; return result; } } class Output { public static void main(String args[]) { recursion obj = new recursion() ; System.out.print(obj.fact(5)); } } A. 24 B. 30 C. 120 D. 720 ANSWER : 120 SOLUTION : fact() method recursively calculates factorial of a number, when value of n reaches 1, Page 11 Questions and Answers e. co m base case is excuted and 1 is returned. Output: $ javac Output.javac $ java Output 120 Q.29) Which of these is the method which is executed first before execution of any other thing takes place in a program? A. main method B. finalize method C. static method D. private method in ANSWER : static method SOLUTION : If a static method is present in the program then it will be executed first, then main will be executed. nl Q.30) What is the output of this program? } w w .a p tio class equality { int x; int y; boolean isequal(){ return(x == y); } } class Output { public static void main(String args[]) { equality obj = new equality(); obj.x = 5; obj.y = 5; System.out.println(obj.isequal); } w A. false B. true C. 0 D. 1 ANSWER : true SOLUTION : output: $ javac Output.java $ java Output true Q.31) Which of these data types is used by operating system to manage the Recursion in Java? A. Array B. Stack C. Queue D. Tree ANSWER : Stack SOLUTION : Recursions are always managed by using stack. Page 12 Questions and Answers Q.32) Which operator is used by Java run time implementations to free the memory of an object when it is no longer needed? e. co m A. delete B. free C. new D. None of the mentioned ANSWER : None of the mentioned SOLUTION : Java handles deallocation of memory automatically, we do not need to explicitly delete an element. Garbage collection only occurs during execution of the program. When no references to the object exist, that object is assumed to be no longer needed, and the memory occupied by the object can be reclaimed. in Q.33) What is process of defining two or more methods within same class that have same name but different parameters declaration? nl A. method overloading B. method overriding C. method hiding D. None of the mentioned w .a p tio ANSWER : method overloading SOLUTION : 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. Q.34) Which of these is not a correct statement? w A. A recursive method must have a base case. B. Recursion always uses stack. C. Recursive methods are faster that programmers written loop to call the function repeatedly using a stack D. Recursion is managed by Java's Run-Time environment. w ANSWER : Recursion is managed by Java's Run -Time environment. SOLUTION : Recursion is always managed by operating system. Q.35) What is Recursion in Java? A. Recursion is a class. B. Recursion is a process of defining a method that calls other methods repeatedly. C. Recursion is a process of defining a method that calls itself repeatedly. D. Recursion is a process of defining a method that calls other methods which in turn call again this method. ANSWER : Recursion is a process of defining a method that calls other methods repeatedly. SOLUTION : Recursion is the process of defining something in terms of itself. It allows us to define method that calls itself. Q.36) class area { int width; int length; int area; void area(int width, int length) { Page 13 Questions and Answers this.width = width; this.length = length; } class Output { public static void main(String args[]) { area obj = new area(); obj.area(5 , 6); System.out.println(obj.length + " " + obj.width); } } in A. 0 0 B. 5 6 C. 6 5 D. 5 5 e. co m } w .a p tio nl ANSWER : 6 5 SOLUTION : this keyword can be used inside any method to refer to the current object. this is always a reference to the object on which the method was invoked. output: $ javac Output.java $ java Output 65 w w Q.37) What is the output of this program? class A { public int i; private int j; } class B extends A { void display() { super.j = super.i + 1; System.out.println(super.i + " " + super.j); } } class inheritance { public static void main(String args[]) { B obj = new B(); obj.i=1; obj.j=2; obj.display(); } } A. 2 2 B. 3 3 C. Runtime Error D. Compilation Error ANSWER : Compilation Error SOLUTION : 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: Page 14 Questions and Answers The field A.j is not visible in w .a p tio nl class overload { int x; double y; int add(int a , int b) { x = a + b; } int add(double c , double d){ y = c + d; } overload() { this.x = 0; this.y = 0; } } class Overload_methods { public static void main(String args[]) { overload obj = new overload(); int a = 2; double b = 3.2; obj.add(a, a); obj.add(b, b); System.out.println(obj.x + " " + obj.y); } } e. co m Q.38) What is the output of this program? A. 6 6 B. 6.4 6.4 C. 6.4 6 D. 6 6.4 w w ANSWER : 6 6.4 SOLUTION : $ javac Overload_methods.java $ java Overload_methods 6 6.4 Q.39) What is the process of defining more than one method in a class differentiated by parameters? A. Function overriding B. Function overloading C. Function doubling D. None of these ANSWER : Function overloading SOLUTION : 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. Q.40) What is the output of this program? final class A { int i; } class B extends A { Page 15 Questions and Answers int j; System.out.println(j + " " + i); e. co m } class inheritance { public static void main(String args[]) { B obj = new B(); obj.display(); } } A. 2 2 B. 3 3 C. Runtime Error D. Compilation Error tio nl in ANSWER : Compilation Error SOLUTION : class A has been declared final hence it cannot be inherited by any other class. Hence class B does not have member i, giving compilation error. output: $ javac inheritance.java Exception in thread main java.lang.Error: Unresolved compilation problem: i cannot be resolved or is not a field w .a p Q.41) Which of these is supported by method overriding in Java? A. Abstraction B. Encapsulation C. Polymorphism D. None of the mentioned w ANSWER : Polymorphism SOLUTION : Overloading and overriding are two types of polymorphism . w Q.42) What is the output of this program? class A { int i; public void display() { System.out.println(i); } } class B extends A { int j; public void display() { System.out.println(j); } } class Dynamic_dispatch { public static void main(String args[]) { B obj2 = new B(); obj2.i = 1; obj2.j = 2; A r; r = obj2; r.display(); } } Page 16 Questions and Answers A. 1 B. 2 C. 3 D. 4 in Q.43) What is the return type of Constructors? e. co m ANSWER : 2 SOLUTION : r is reference of type A, the program assigns a reference of object obj2 to r and uses that reference to call function display() of class B. output: $ javac Dynamic_dispatch.java $ java Dynamic_dispatch 2 nl A. int B. float C. void D. None of the mentioned tio ANSWER : None of the mentioned SOLUTION : Constructors does not have any return type, not even void. w .a p Q.44) Which of the following is a method having same name as that of its class? A. finalize B. delete C. class D. constructor w ANSWER : constructor SOLUTION : 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. w Q.45) What is the process of defining more than one method in a class differentiated by method signature? A. Function overriding B. Function overloading C. Function doubling D. None of the mentioned ANSWER : Function overloading SOLUTION : 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. Q.46) Which of these can be used to differentiate two or more methods having same name? A. Parameters data type B. Number of parameters C. Return type of method D. All of the mentioned ANSWER : All of the mentioned Page 17 Questions and Answers SOLUTION : These all are used to differentiate two or more methods. Q.47) Which method can be defined only once in a program? e. co m A. main method B. finalize method C. static method D. private method w w .a p tio nl Q.48) What is the output of this program? class test { int a; int b; void meth(int i , int j) { i *= 2; j /= 2; } } class Output { public static void main(String args[]) { test obj = new test(); int a = 10; int b = 20; obj.meth(a , b); System.out.println(a + " " + b); } } in ANSWER : main method SOLUTION : main() method can be defined only once in a program. Program execution begins from the main() method by java's run time system. w A. 10 20 B. 20 10 C. 20 40 D. 40 20 ANSWER : 10 20 SOLUTION : 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 Q.49) Which of these keyword can be used in subclass to call the constructor of superclass? A. super B. this C. extent D. extends ANSWER : super SOLUTION : The super keyword is associated with Inheritance. Inheritance is a concept of Object Page 18 Questions and Answers Oriented Programming where in the sub class inherits characteristics and properties of the super class. The base class is also called as super class. The Super keyword is used for two different purposes: A. 6 B. 7 C. 8 D. 9 in w .a p tio nl Q.50) What is the output of this program? class overload { int x; int y; int add(int a){ x = a + 1; } int add(int a , int b){ x = a + 2; } } class Overload_methods { public static void main(String args[]) { overload obj = new overload(); int a = 0; obj.add(6, 7); System.out.println(obj.x); } } e. co m 1. To call the Super Class Constructor 2. To execute the super class methods w w ANSWER : 8 SOLUTION : $ javac Overload_methods.java $ java Overload_methods 8 Q.51) What is the output of this program? class box { int width; int height; int length; int volume; box() { width = 5; height = 5; length = 6; } void volume() { volume = width*height*length; } } class constructor_output { public static void main(String args[]) { box obj = new box(); obj.volume(); System.out.println(obj.volume); } } } Page 19 Questions and Answers ANSWER : 150 SOLUTION : output: $ constructor_output.java $ constructor_output 150 Q.52) Which of the following statements are incorrect? e. co m A. 100 B. 150 C. 200 D. 250 nl in A. Default constructor is called at the time of declaration of the object if a constructor has not been defined. B. Constructor can be parameterized. C. finalize() method is called when a object goes out of scope and is no longer needed. D. finalize() method must be declared protected. w .a p tio ANSWER : finalize() method is called when a object goes out of scope and is no longer needed. SOLUTION : finalize() method is called just prior to garbage collection. It is not called when object goes out of scope. w w Q.53) What is the output of this program? class overload { int x; int y; int add(int a) { x = a + 1; } int add(int a , int b){ x = a + 2; } } class Overload_methods { public static void main(String args[]) { overload obj = new overload(); int a = 0; obj.add(6); System.out.println(obj.x); } } A. 5 B. 6 C. 7 D. 8 ANSWER : 7 SOLUTION : output: $ javac Overload_methods.java $ java Overload_methods 7 Page 20 in w .a p A. 0 B. 1 C. 2 D. Compilation Error tio nl Q.54) What is the output of this program? class A { int i; void display() { System.out.println(i); } } class B extends A { int j; void display() { System.out.println(j); } } class method_overriding { public static void main(String args[]) { B obj = new B(); obj.i=1; obj.j=2; obj.display(); } } e. co m Questions and Answers w w ANSWER : 2 SOLUTION : 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 Page 21