0

Jai solanki

Description: Ssc
Number of Questions: 37
Created by:
Tags: Ch 1
Attempted 0/37 Correct 0 Score 0

Overriding and Overloading is for ?

  1. Methods and variables

  2. class

  3. variables

  4. Methods


Correct Option: D
Explanation:

To answer this question, the user needs to know the basic concepts of object-oriented programming (OOP) and the differences between method overriding and method overloading.

Option A: Methods and variables - This option is partially correct. Overriding and overloading both apply to methods in OOP, not to variables. Therefore, this option is only correct for the first part of the question.

Option B: Class - This option is not correct. Overriding and overloading are not for classes, but for methods within classes.

Option C: Variables - This option is not correct. Overriding and overloading are not for variables, but for methods within classes.

Option D: Methods - This option is correct. Overriding and overloading are techniques used for methods in OOP. Method overriding means providing a new implementation of a method in a subclass that is already defined in its superclass. Method overloading means defining multiple methods with the same name in the same class, but with different parameters.

Therefore, the correct answer is:

The answer is: D. Methods

Overriding and Overloading is for ?

  1. Methods and variables

  2. class

  3. variables

  4. Methods


Correct Option: D
Explanation:

To answer this question, the user needs to know the basic concepts of object-oriented programming (OOP) and the differences between method overriding and method overloading.

Option A: Methods and variables - This option is partially correct. Overriding and overloading both apply to methods in OOP, not to variables. Therefore, this option is only correct for the first part of the question.

Option B: Class - This option is not correct. Overriding and overloading are not for classes, but for methods within classes.

Option C: Variables - This option is not correct. Overriding and overloading are not for variables, but for methods within classes.

Option D: Methods - This option is correct. Overriding and overloading are techniques used for methods in OOP. Method overriding means providing a new implementation of a method in a subclass that is already defined in its superclass. Method overloading means defining multiple methods with the same name in the same class, but with different parameters.

Therefore, the correct answer is:

The answer is: D. Methods

  1. class, if, void, long, Int, continue

  2. goto, instanceof, native, finally, default, throws

  3. try, virtual, throw, final, volatile, transient

  4. strictfp, constant, super, implements, do


Correct Option: B
Explanation:

All the words in option B are among the 49 Java keywords. Although goto reserved as a keyword in Java, goto is not used and has no function.Option A is wrong because the keyword for the primitive int starts with a lowercase i.Option C is wrong because "vi

  1. class, if, void, long, Int, continue

  2. goto, instanceof, native, finally, default, throws

  3. try, virtual, throw, final, volatile, transient

  4. strictfp, constant, super, implements, do


Correct Option: B
Explanation:

All the words in option B are among the 49 Java keywords. Although goto reserved as a keyword in Java, goto is not used and has no function.Option A is wrong because the keyword for the primitive int starts with a lowercase i.Option C is wrong because "vi

  1. int [] myList = {"1", "2", "3"};

  2. int [] myList = (5, 8, 2);

  3. int myList [] [] = {4,9,7,0};

  4. int myList [] = {4, 3, 7};


Correct Option: D
Explanation:

To legally declare, construct, and initialize an array, the user needs to know the syntax of creating an array and how to initialize it with values.

Option A is incorrect because it uses double quotes for the array initialization, which is used for string values. For integer values, we don't need to use quotes.

Option B is incorrect because it uses parentheses instead of curly brackets for array initialization.

Option C is incorrect because it declares a two-dimensional array but only initializes with one-dimensional values.

Option D is correct because it declares, constructs, and initializes a one-dimensional integer array with the values 4, 3, and 7.

Therefore, the answer is:

The Answer is: D

  1. int [] myList = {"1", "2", "3"};

  2. int [] myList = (5, 8, 2);

  3. int myList [] [] = {4,9,7,0};

  4. int myList [] = {4, 3, 7};


Correct Option: D
Explanation:

To legally declare, construct, and initialize an array, the user needs to know the syntax of creating an array and how to initialize it with values.

Option A is incorrect because it uses double quotes for the array initialization, which is used for string values. For integer values, we don't need to use quotes.

Option B is incorrect because it uses parentheses instead of curly brackets for array initialization.

Option C is incorrect because it declares a two-dimensional array but only initializes with one-dimensional values.

Option D is correct because it declares, constructs, and initializes a one-dimensional integer array with the values 4, 3, and 7.

Therefore, the answer is:

The Answer is: D

Which is a reserved word in the Java programming language?

  1. method

  2. native

  3. subclasses

  4. reference


Correct Option: B

AI Explanation

To answer this question, you need to understand that reserved words in programming languages are words that are reserved for specific purposes and cannot be used as identifiers (such as variable names or function names). In Java, there are several reserved words.

Let's go through each option to understand why it is correct or incorrect:

Option A) method - This option is incorrect because "method" is not a reserved word in the Java programming language. It is a term used to describe a function or procedure that is associated with an object or class.

Option B) native - This option is correct because "native" is a reserved word in the Java programming language. It is used to indicate that a method is implemented in a language other than Java, such as C or C++.

Option C) subclasses - This option is incorrect because "subclasses" is not a reserved word in the Java programming language. It is a term used to describe classes that inherit properties and methods from a superclass.

Option D) reference - This option is incorrect because "reference" is not a reserved word in the Java programming language. It is a term used to describe a variable that holds the memory address of an object.

The correct answer is B) native. This option is correct because "native" is a reserved word in the Java programming language.

Which is a reserved word in the Java programming language?

  1. method

  2. native

  3. subclasses

  4. reference


Correct Option: B

AI Explanation

To answer this question, you need to understand that reserved words in programming languages are words that are reserved for specific purposes and cannot be used as identifiers (such as variable names or function names). In Java, there are several reserved words.

Let's go through each option to understand why it is correct or incorrect:

Option A) method - This option is incorrect because "method" is not a reserved word in the Java programming language. It is a term used to describe a function or procedure that is associated with an object or class.

Option B) native - This option is correct because "native" is a reserved word in the Java programming language. It is used to indicate that a method is implemented in a language other than Java, such as C or C++.

Option C) subclasses - This option is incorrect because "subclasses" is not a reserved word in the Java programming language. It is a term used to describe classes that inherit properties and methods from a superclass.

Option D) reference - This option is incorrect because "reference" is not a reserved word in the Java programming language. It is a term used to describe a variable that holds the memory address of an object.

The correct answer is B) native. This option is correct because "native" is a reserved word in the Java programming language.

Which is a valid keyword in java?

  1. interface

  2. string

  3. Float

  4. unsigned


Correct Option: A

AI Explanation

To answer this question, we need to understand what a keyword is in the context of Java programming.

In Java, keywords are reserved words that have predefined meanings and cannot be used as identifiers (such as variable names or class names). These keywords are used to define the syntax and structure of the Java programming language.

Let's go through each option to understand which one is a valid keyword in Java:

Option A) interface - This option is correct. "interface" is a valid keyword in Java and is used to define a collection of abstract methods that can be implemented by a class.

Option B) string - This option is incorrect. "string" is not a valid keyword in Java. However, "String" (with an uppercase "S") is a valid keyword and is used to represent a sequence of characters.

Option C) Float - This option is incorrect. "Float" is not a valid keyword in Java. However, "float" (with a lowercase "f") is a valid keyword and is used to represent floating-point numbers.

Option D) unsigned - This option is incorrect. "unsigned" is not a valid keyword in Java.

Based on the explanations above, the correct answer is Option A) interface.

Which is a valid keyword in java?

  1. interface

  2. string

  3. Float

  4. unsigned


Correct Option: A

AI Explanation

To answer this question, we need to understand what a keyword is in the context of Java programming.

In Java, keywords are reserved words that have predefined meanings and cannot be used as identifiers (such as variable names or class names). These keywords are used to define the syntax and structure of the Java programming language.

Let's go through each option to understand which one is a valid keyword in Java:

Option A) interface - This option is correct. "interface" is a valid keyword in Java and is used to define a collection of abstract methods that can be implemented by a class.

Option B) string - This option is incorrect. "string" is not a valid keyword in Java. However, "String" (with an uppercase "S") is a valid keyword and is used to represent a sequence of characters.

Option C) Float - This option is incorrect. "Float" is not a valid keyword in Java. However, "float" (with a lowercase "f") is a valid keyword and is used to represent floating-point numbers.

Option D) unsigned - This option is incorrect. "unsigned" is not a valid keyword in Java.

Based on the explanations above, the correct answer is Option A) interface.

  1. Array a = new Array(5);

  2. int [] a = {23,22,21,20,19};

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

  4. int [5] array;


Correct Option: B
Explanation:

To declare an array and initialize it with five numbers, the user needs to know the syntax for declaring and initializing an array in Java.

Option A is incorrect because the Array class does not have a constructor that takes an integer as an argument, and thus this statement will not create an array of five elements.

Option B is correct because it initializes an integer array a with 5 elements and assigns the values 23, 22, 21, 20, and 19 to the array.

Option C is also correct because it declares an integer array a with 5 elements, but it does not initialize the array with any values.

Option D is incorrect because the syntax int [5] array is not valid in Java. The correct syntax should be int[] array = new int[5] which creates an integer array array with 5 elements and initializes all elements to 0.

Therefore, the correct answer is:

The Answer is: B. int [] a = {23,22,21,20,19};

  1. Array a = new Array(5);

  2. int [] a = {23,22,21,20,19};

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

  4. int [5] array;


Correct Option: B
Explanation:

To declare an array and initialize it with five numbers, the user needs to know the syntax for declaring and initializing an array in Java.

Option A is incorrect because the Array class does not have a constructor that takes an integer as an argument, and thus this statement will not create an array of five elements.

Option B is correct because it initializes an integer array a with 5 elements and assigns the values 23, 22, 21, 20, and 19 to the array.

Option C is also correct because it declares an integer array a with 5 elements, but it does not initialize the array with any values.

Option D is incorrect because the syntax int [5] array is not valid in Java. The correct syntax should be int[] array = new int[5] which creates an integer array array with 5 elements and initializes all elements to 0.

Therefore, the correct answer is:

The Answer is: B. int [] a = {23,22,21,20,19};

  1. public double methoda();

  2. public final double methoda();

  3. static void methoda(double d1);

  4. protected void methoda(double d1);


Correct Option: A
Explanation:

To solve this question, the user needs to understand the syntax and rules for declaring methods within an interface in Java.

In Java, an interface is a collection of abstract methods, which means the methods declared within an interface do not have a body. The purpose of an interface is to define a contract that classes can implement, specifying the methods they must provide.

Now, let's go through each option and explain why it is right or wrong:

A. public double methoda(); This option is a valid declaration within an interface definition. It declares a public method named "methoda" that returns a double value. Since interfaces only contain abstract methods, there is no need to provide a method body.

B. public final double methoda(); This option is not a valid declaration within an interface definition. The "final" keyword cannot be used to modify a method declaration within an interface. The "final" keyword is used to indicate that a method cannot be overridden by a subclass.

C. static void methoda(double d1); This option is not a valid declaration within an interface definition. The "static" keyword cannot be used to modify a method declaration within an interface. Static methods belong to the class itself, not an instance of the class.

D. protected void methoda(double d1); This option is not a valid declaration within an interface definition. The "protected" keyword cannot be used to modify a method declaration within an interface. Protected methods are accessible within the same package and by subclasses.

Therefore, the valid declaration within an interface definition is:

The Answer is: A. public double methoda();

  1. public double methoda();

  2. public final double methoda();

  3. static void methoda(double d1);

  4. protected void methoda(double d1);


Correct Option: A
Explanation:

To solve this question, the user needs to understand the syntax and rules for declaring methods within an interface in Java.

In Java, an interface is a collection of abstract methods, which means the methods declared within an interface do not have a body. The purpose of an interface is to define a contract that classes can implement, specifying the methods they must provide.

Now, let's go through each option and explain why it is right or wrong:

A. public double methoda(); This option is a valid declaration within an interface definition. It declares a public method named "methoda" that returns a double value. Since interfaces only contain abstract methods, there is no need to provide a method body.

B. public final double methoda(); This option is not a valid declaration within an interface definition. The "final" keyword cannot be used to modify a method declaration within an interface. The "final" keyword is used to indicate that a method cannot be overridden by a subclass.

C. static void methoda(double d1); This option is not a valid declaration within an interface definition. The "static" keyword cannot be used to modify a method declaration within an interface. Static methods belong to the class itself, not an instance of the class.

D. protected void methoda(double d1); This option is not a valid declaration within an interface definition. The "protected" keyword cannot be used to modify a method declaration within an interface. Protected methods are accessible within the same package and by subclasses.

Therefore, the valid declaration within an interface definition is:

The Answer is: A. public double methoda();

  1. boolean b1 = 0;

  2. boolean b2 = 'false';

  3. boolean b3 = false;

  4. boolean b4 = Boolean.false();


Correct Option: C
Explanation:

A boolean can only be assigned the literal true or false.

  1. boolean b1 = 0;

  2. boolean b2 = 'false';

  3. boolean b3 = false;

  4. boolean b4 = Boolean.false();


Correct Option: C
Explanation:

A boolean can only be assigned the literal true or false.

  1. boolean b1 = 0;

  2. boolean b2 = 'false';

  3. boolean b3 = false;

  4. boolean b4 = Boolean.false();


Correct Option: C
Explanation:

A boolean can only be assigned the literal true or false.

  1. String s1 = null;

  2. String s2 = 'null';

  3. String s3 = (String) 'abc';

  4. String s4 = (String) '\ufeed';


Correct Option: A
Explanation:

To solve this question, the user needs to understand the syntax and rules for declaring a String in Java.

Let's go through each option and explain why it is right or wrong:

A. String s1 = null; This option is a valid declaration of a String. In Java, a String variable can be assigned a null value, which means it does not reference any object. This option is correct.

B. String s2 = 'null'; This option is incorrect. In Java, single quotes (' ') are used to represent characters, not Strings. To declare a String, double quotes (" ") should be used. Therefore, this option is wrong.

C. String s3 = (String) 'abc'; This option is incorrect. In Java, to declare a String, the value must be enclosed in double quotes (" "). The syntax (String) is used for type casting, which is not necessary when declaring a String. Therefore, this option is wrong.

D. String s4 = (String) '\ufeed'; This option is incorrect. The value '\ufeed' is an escape sequence representing a Unicode character. However, to declare a String, the value must be enclosed in double quotes (" "). Therefore, this option is wrong.

The Answer is: A. String s1 = null;

  1. String s1 = null;

  2. String s2 = 'null';

  3. String s3 = (String) 'abc';

  4. String s4 = (String) '\ufeed';


Correct Option: A
Explanation:

To solve this question, the user needs to understand the syntax and rules for declaring a String in Java.

Let's go through each option and explain why it is right or wrong:

A. String s1 = null; This option is a valid declaration of a String. In Java, a String variable can be assigned a null value, which means it does not reference any object. This option is correct.

B. String s2 = 'null'; This option is incorrect. In Java, single quotes (' ') are used to represent characters, not Strings. To declare a String, double quotes (" ") should be used. Therefore, this option is wrong.

C. String s3 = (String) 'abc'; This option is incorrect. In Java, to declare a String, the value must be enclosed in double quotes (" "). The syntax (String) is used for type casting, which is not necessary when declaring a String. Therefore, this option is wrong.

D. String s4 = (String) '\ufeed'; This option is incorrect. The value '\ufeed' is an escape sequence representing a Unicode character. However, to declare a String, the value must be enclosed in double quotes (" "). Therefore, this option is wrong.

The Answer is: A. String s1 = null;

  1. String s1 = null;

  2. String s2 = 'null';

  3. String s3 = (String) 'abc';

  4. String s4 = (String) '\ufeed';


Correct Option: A
Explanation:

To solve this question, the user needs to understand the syntax and rules for declaring a String in Java.

Let's go through each option and explain why it is right or wrong:

A. String s1 = null; This option is a valid declaration of a String. In Java, a String variable can be assigned a null value, which means it does not reference any object. This option is correct.

B. String s2 = 'null'; This option is incorrect. In Java, single quotes (' ') are used to represent characters, not Strings. To declare a String, double quotes (" ") should be used. Therefore, this option is wrong.

C. String s3 = (String) 'abc'; This option is incorrect. In Java, to declare a String, the value must be enclosed in double quotes (" "). The syntax (String) is used for type casting, which is not necessary when declaring a String. Therefore, this option is wrong.

D. String s4 = (String) '\ufeed'; This option is incorrect. The value '\ufeed' is an escape sequence representing a Unicode character. However, to declare a String, the value must be enclosed in double quotes (" "). Therefore, this option is wrong.

The Answer is: A. String s1 = null;

  1. String s1 = null;

  2. String s2 = 'null';

  3. String s3 = (String) 'abc';

  4. String s4 = (String) '\ufeed';


Correct Option: A
Explanation:

To solve this question, the user needs to understand the syntax and rules for declaring a String in Java.

Let's go through each option and explain why it is right or wrong:

A. String s1 = null; This option is a valid declaration of a String. In Java, a String variable can be assigned a null value, which means it does not reference any object. This option is correct.

B. String s2 = 'null'; This option is incorrect. In Java, single quotes (' ') are used to represent characters, not Strings. To declare a String, double quotes (" ") should be used. Therefore, this option is wrong.

C. String s3 = (String) 'abc'; This option is incorrect. In Java, to declare a String, the value must be enclosed in double quotes (" "). The syntax (String) is used for type casting, which is not necessary when declaring a String. Therefore, this option is wrong.

D. String s4 = (String) '\ufeed'; This option is incorrect. The value '\ufeed' is an escape sequence representing a Unicode character. However, to declare a String, the value must be enclosed in double quotes (" "). Therefore, this option is wrong.

The Answer is: A. String s1 = null;

  1. String s1 = null;

  2. String s2 = 'null';

  3. String s3 = (String) 'abc';

  4. String s4 = (String) '\ufeed';


Correct Option: A
Explanation:

To solve this question, the user needs to understand the syntax and rules for declaring a String in Java.

Let's go through each option and explain why it is right or wrong:

A. String s1 = null; This option is a valid declaration of a String. In Java, a String variable can be assigned a null value, which means it does not reference any object. This option is correct.

B. String s2 = 'null'; This option is incorrect. In Java, single quotes (' ') are used to represent characters, not Strings. To declare a String, double quotes (" ") should be used. Therefore, this option is wrong.

C. String s3 = (String) 'abc'; This option is incorrect. In Java, to declare a String, the value must be enclosed in double quotes (" "). The syntax (String) is used for type casting, which is not necessary when declaring a String. Therefore, this option is wrong.

D. String s4 = (String) '\ufeed'; This option is incorrect. The value '\ufeed' is an escape sequence representing a Unicode character. However, to declare a String, the value must be enclosed in double quotes (" "). Therefore, this option is wrong.

The Answer is: A. String s1 = null;

  1. -128 to 127

  2. -(215) to (215) - 1

  3. 0 to 32767

  4. 0 to 65535


Correct Option: D
  1. -128 to 127

  2. -(215) to (215) - 1

  3. 0 to 32767

  4. 0 to 65535


Correct Option: D
  1. -128 to 127

  2. -(215) to (215) - 1

  3. 0 to 32767

  4. 0 to 65535


Correct Option: D
  1. -128 to 127

  2. -(215) to (215) - 1

  3. 0 to 32767

  4. 0 to 65535


Correct Option: D

You want subclasses in any package to have access to members of a superclass. Which is the most restrictive access that accomplishes this objective?

  1. public

  2. protected

  3. private

  4. transient


Correct Option: B
Explanation:

protected makes a member accessible only to classes in the same package or subclass of the class

You want subclasses in any package to have access to members of a superclass. Which is the most restrictive access that accomplishes this objective?

  1. public

  2. protected

  3. private

  4. transient


Correct Option: B
Explanation:

protected makes a member accessible only to classes in the same package or subclass of the class

What is the most restrictive access modifier that will allow members of one class to have access to members of another class in the same package?

  1. public

  2. abstract

  3. protected

  4. synchronized

  5. default access


Correct Option: E
Explanation:

default access is the "package oriented" access modifier.

Which cause a compiler error?

  1. int[ ] scores = {3, 5, 7};

  2. int [ ][ ] scores = {2,7,6}, {9,3,45};

  3. String cats[ ] = {"Fluffy", "Spot", "Zeus"};

  4. boolean results[ ] = new boolean [] {true, false, true};


Correct Option: B
Explanation:

To determine which option will cause a compiler error, we need to understand the syntax and rules of arrays in programming languages.

An array is a data structure that allows you to store multiple values of the same type under a single variable name. In most programming languages, arrays have a fixed size and can only store elements of the same type.

Now, let's analyze each option to identify if it will cause a compiler error:

A. int[ ] scores = {3, 5, 7}; This option is correct. It declares an integer array named "scores" and initializes it with three values: 3, 5, and 7. This code will not cause a compiler error.

B. int [ ][ ] scores = {2,7,6}, {9,3,45}; This option is incorrect. It declares a two-dimensional integer array named "scores" and initializes it with two rows and three columns. However, the array initializer is incorrect. Each row of a two-dimensional array should be enclosed in curly braces. The correct syntax should be: int [ ][ ] scores = {{2,7,6}, {9,3,45}}; The given code will cause a compiler error.

C. String cats[ ] = {"Fluffy", "Spot", "Zeus"}; This option is correct. It declares a String array named "cats" and initializes it with three strings: "Fluffy", "Spot", and "Zeus". This code will not cause a compiler error.

D. boolean results[ ] = new boolean [] {true, false, true}; This option is correct. It declares a boolean array named "results" and initializes it with three boolean values: true, false, and true. This code will not cause a compiler error.

Therefore, the option that will cause a compiler error is:

The Answer is: B

  1. public

  2. private

  3. protected

  4. default access


Correct Option: D
Explanation:
  • Public access is the least restrictive access modifier. Members with public access can be accessed from anywhere in the program.
  • Private access is the most restrictive access modifier. Members with private access can only be accessed from within the class in which they are declared.
  • Protected access is a middle ground between public and private access. Members with protected access can be accessed from within the class in which they are declared, and from subclasses of that class.
  • Default access is also known as package-private access. Members with default access can be accessed from any class in the same package.

So, the most restrictive access modifier that allows a class in the same package to access members of another class in the same package is Default.

Here is a table that summarizes the different access modifiers in Java:

Access modifier Visibility
public Anywhere in the program
private Only within the class in which it is declared
protected Within the class in which it is declared, and from subclasses of that class
default Only within the same package

The difference between protected and default access is that protected allows access from subclasses in other packages, while default does not. For example, if you have a class Animal in package A, and a class Dog in package B that extends Animal, then the class Dog can access the protected members of Animal, but not the default members. However, if you have a class Cat in package A that extends Animal, then the class Cat can access both the protected and the default members of Animal.

Which one creates an instance of an array?

  1. int[ ] ia = new int[15];

  2. float fa = new float[20];

  3. char[ ] ca = "Some String";

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


Correct Option: A
  1. protected int a;

  2. transient int b = 3;

  3. private synchronized int e;

  4. volatile int d;


Correct Option: C

Given a method in a protected class, what access modifier do you use to restrict access to that method to only the other members of the same class?

  1. final

  2. static

  3. private

  4. protected


Correct Option: C
Explanation:

The private access modifier limits access to members of the same class.

  1. public static short stop = 23;

  2. protected short stop = 23;

  3. transient short stop = 23;

  4. final void madness(short stop);


Correct Option: A
  1. TreeMap

  2. HashMap

  3. LinkedHashMap

  4. The answer depends on the implementation of the existing instance.


Correct Option: C
Explanation:

To solve this question, the user needs to know the differences between the concrete implementations of the Map interface and their iteration orders.

Now, let's go through each option and explain why it is right or wrong:

A. TreeMap: This option is incorrect because TreeMap sorts its elements in natural order or by a custom Comparator, whereas the iteration order of the existing instance of the Map may not be sorted. Thus, creating a new instance of TreeMap would not preserve the same iteration order as the existing instance.

B. HashMap: This option is incorrect because HashMap does not guarantee any particular iteration order. Thus, creating a new instance of HashMap would not preserve the same iteration order as the existing instance.

C. LinkedHashMap: This option is correct. LinkedHashMap is similar to HashMap but maintains a doubly-linked list running through all its entries, which allows it to maintain the insertion order. Thus, creating a new instance of LinkedHashMap would preserve the same iteration order as the existing instance.

D. The answer depends on the implementation of the existing instance: This option is incorrect because the iteration order of the existing instance of the Map may not be guaranteed by all implementations of the Map interface. Thus, it is not a reliable solution to assume that any implementation of the Map interface would preserve the same iteration order as the existing instance.

The Answer is: C. LinkedHashMap

Which class does not override the equals() and hashCode() methods, inheriting them directly from class Object?

  1. java.lang.String

  2. java.lang.Double

  3. java.lang.StringBuffer

  4. java.lang.Character


Correct Option: C
- Hide questions