Which of the following access modifiers is allowed for a method in an interface?

  • default
  • private
  • protected
  • public
In Java interfaces, all methods are implicitly public, whether you declare them as such or not. You cannot use the private, protected, or default access modifiers for methods in an interface.

Which class allows multiple threads to work in parallel but blocks them until all threads are finished?

  • CountDownLatch
  • CyclicBarrier
  • Semaphore
  • ThreadGroup
The CyclicBarrier class allows multiple threads to work in parallel but blocks them until all threads have reached a certain point (barrier) in the code. Once all threads have reached the barrier, they can continue executing. It is commonly used for tasks that can be divided into subtasks that need to be completed before the main task can proceed.

Is it possible to extend a class defined as final?

  • No, you cannot extend a class that is declared as final.
  • Yes, you can extend a final class.
  • You can extend a final class only in the same package.
  • You can extend a final class, but it requires special annotations.
In Java, a class declared as "final" cannot be extended. The "final" keyword indicates that the class cannot be subclassed. Attempting to extend a final class will result in a compile-time error. This feature is often used when you want to prevent further modification or extension of a class, such as in utility classes or classes that are critical to the design.

Which method is used to retrieve the protocol type of a URL in Java?

  • fetchProtocol()
  • getProtocol()
  • getURLProtocol()
  • retrieveProtocol()
In Java, to retrieve the protocol type of a URL, you should use the getProtocol() method of the URL class. It returns a String containing the protocol, such as "http," "https," "ftp," etc. The other options do not exist as valid methods for this purpose.

Can we overload the "+" operator to concatenate two strings and add two integers in a custom class?

  • No, Java does not support operator overloading.
  • Yes, by defining a method named + in the custom class.
  • Yes, by defining methods named add and concatenate for the custom class.
  • Yes, by using the + operator with different parameter types in the method definition.
No, Java does not support operator overloading. In Java, the + operator is not overloaded for user-defined classes. The + operator is only used for addition when applied to numeric data types and for string concatenation when used with strings. Therefore, you cannot define custom behavior for the + operator in user-defined classes.

Does Java support operator overloading?

  • No, not at all.
  • Only for arithmetic ops.
  • Yes, for all operators.
  • Yes, for selected ops.
Java does not support operator overloading for custom classes. While some languages do allow operator overloading, Java enforces a fixed set of operators for built-in types, and you cannot create custom operator overloads. This limitation helps maintain code readability and prevents ambiguity.

How can we handle SQL exceptions that may occur during the execution of a JDBC program?

  • Ignore them and let the program continue
  • Use assert statements to handle exceptions
  • Use if-else statements to handle exceptions
  • Use try-catch blocks to catch and handle exceptions
SQL exceptions in a JDBC program should be handled using try-catch blocks. Ignoring them can lead to unexpected program behavior, and try-catch allows you to gracefully handle errors, log them, or take corrective actions. The other options are not recommended approaches for handling exceptions in JDBC.

To write primitive data types like int or double to a file in a machine-independent way, you might use ________.

  • DataOutputStream
  • FileInputStream
  • ObjectInputStream
  • ObjectOutputStream
To write primitive data types to a file in a machine-independent way, you can use DataOutputStream. It provides methods for writing different data types to a file while ensuring that the data can be read back correctly.

How does Java handle the division of an integer by zero?

  • It returns NaN (Not-a-Number).
  • It returns a positive or negative infinity value, depending on the sign of the numerator.
  • It returns zero.
  • It throws an ArithmeticException.
In Java, dividing an integer by zero results in an ArithmeticException being thrown at runtime. Division by zero is mathematically undefined, and Java handles it by throwing this exception to indicate the error. Options 1, 3, and 4 are incorrect because they don't accurately represent how Java handles this situation.

A JDBC ________ provides the necessary methods to interact with the database.

  • Connection
  • Driver
  • ResultSet
  • Statement
In JDBC, a Connection is used to establish a connection to a database. It provides the necessary methods to interact with the database, such as executing SQL queries and managing transactions. A JDBC Driver is responsible for establishing the connection, but the Connection object is what allows you to interact with the database.