Here are the few basic level Java Interview Questions and Answers. In this post-interview, questions started with OOP’s questions because Object-Oriented Programming System knowledge is the basics to understand programming languages like C++, Java, and Python. The interview questions and answers provided in this post mostly useful for freshers and 1-2 experienced candidates.
Java Interview Questions And Answers:
Q1. What Is Object-Oriented Programming?
Object-oriented programming or popularly known as OOPs, is a programming method or approach where the programs are organized around objects rather than logic and methods. In other words, OOP mainly focuses on the objects that are required to be manipulated instead of logic. This approach is ideal for large applications and needs to be actively updated or maintained.
Q2. Define class in Java?
Class is defined as a blueprint for an object. We can create as many Objects for a class. It is often referred to as a template to create an object. Java allows a programmer to create your type using classes. A class contains fields (variables) and methods to describe the behaviour of an object.
Q3. What is an object in Java?
An object is defined as an instance of the class. The object was having two characteristics states (attributes) and behaviours.
Q4. Explain JDK, JRE, and JVM?
JDK (Java Development Kit) is the software development kit required to develop applications in Java. JDK includes both JRE and JVM. JDK provides other necessary tools compiler, JavaDoc, and debugger.
JRE (Java Runtime Environment) refers to a runtime environment that provides the minimum requirements for executing a Java application; it consists of the Java Virtual Machine (JVM), core classes, and supporting files.
JVM (Java Virtual Machine) is an abstract machine that provides a runtime environment in which java bytecode is executed. JVM translates the bytecode into native machine code. It follows three notations: Specification, Implementation, and Runtime Instance.
Q5. Explain public static void main(String args) in Java.
In Java, the main() is the starting point for any Java program. It always was written as public static void main(String args).
Public: Public is an access modifier, which is used to define who can access this method. Public means that this method will be accessible by any Class.
Static: It is a keyword in Java which identifies it is class-based. The main method is static in Java so that the main method accessed without creating the instance of a Class. the JVM calls the main method before any objects are created.
Void: It is the return type of the method. Void specifies the method that will not return any value.
Main: It is the name of the method searched by JVM as a starting point for an application with a particular signature only. It is the method where the main execution occurs.
String args: It is the parameter passed to the main() method.
Q6. Why is Java platform-independent?
Java is called platform independent language because of its byte code. Once we write a Java and compiles the program, it will create a dot class file containing bytecode. JVM translates the bytecode into native machine code, which can run on any system irrespective of its operating system.
Q7. Why is Java not complete Object-oriented?
Java is not complete Object-oriented because it uses primitive data types such as byte, short, boolean, char, int, float, double, and not objects.
Q8. What are wrapper classes in Java?
Wrapper classes are used to convert the Java primitives into the reference types (objects). In Java, each primitive data type has a class dedicated to it. These classes are known as wrapper classes because they “wrap” the primitive data type into that class’s object.
Q9. What are constructors in Java?
In Java, constructor refers to a block of code that is used to initialize an object. It must have the same name as that of the class. Also, it has no return type and is automatically called when an object is created.
There are two types of constructors:
Default Constructor: In Java, a default constructor is the one that does not take any inputs. In other words, default constructors are the no-argument constructors created by compiler default if the user defines no other constructor. Its main purpose is to initialize the instance variables with the default values. Also, it is majorly used for object creation.
Parameterized Constructor: This constructor in Java can initialize the instance variables with the provided values. In other words, the constructors which take the arguments are called parameterized constructors.
Q10. What is a singleton class in Java, and how can we make a class singleton?
Singleton class is a class whose only one instance can be created at any given time in one JVM. A class can be made singleton by making its constructor private.
Q11. What is the difference between the Array list and vector in Java?
Array List is not synchronized.
The vector is synchronized.
Array List is as fast as it’s non-synchronized.
The vector is slow as it is threaded safe.
If an element is inserted into the Array List, it increases its Array size by half.
Vector defaults to doubling its array size.
Q12. What is the difference between equals() and == in Java?
The equals () method is defined in Object class in Java and used for checking the equality of two objects defined by business logic.
“==” or equality operator in Java is a binary operator provided by Java programming language and used to compare primitives and objects. Public boolean equals(Object o) is the method provided by the Object class. The default implementation uses == operator to compare two objects. For example, the method can be overridden like a String class. equals() method used to compare the values of two objects.
Q13. What is a package in Java? List down various advantages of packages.
Packages in Java are the combination of related classes and interfaces which are bundled together. By using packages, developers can easily modularize the code and optimize its reuse. Also, the code within the packages can be imported by other classes and reused.
Packages Create a proper hierarchical structure, which makes it easier to locate the related classes. They provide easier access control on the code. They also contain hidden classes that are not visible to the outer classes and only used within the package.
Q14. Why are pointers not used in Java?
Java is known for its simplicity of code. Using pointers’ concept will be contradicting. Java doesn’t use pointers because they are unsafe and increases the complexity of the program. Moreover, since JVM is responsible for implicit memory allocation, pointers are discouraged in Java to avoid direct access to memory by the user.
Q15. What is the difference between a local variable and an instance variable?
In Java, local variables are declared inside a method, constructor, or block and have only local scope. So, this variable is used only within the scope of a block.
An instance variable in Java is a variable that bounded itself. These variables are declared within a class but outside a method. Every object of that class will create it’s own copy of the variable while using it. Thus, any changes made to the variable won’t reflect any other instances of that class and will be bound to that particular instance only.
Q16. Differentiate between the constructors and methods in Java?
- Method is used to represent the behavior of an object
- Constructor is used to initialize the state of an object
- Method must have a return type
- Constructor does not have any return type
- Method needs to be invoked explicitly
- Constructor is invoked implicitly
- No default method is provided by the compiler
- If there is no constructor in the class, then the compiler provides a default constructor.
- Method name may or may not be the same as the class name.
- The constructor name must always be the same as the class name.