SlideShare a Scribd company logo
50+ Java Interview Questions For
Google, Microsoft & Adobe
Q1. Can == be used on enum?
Yes, enums have tight instance controls that allow you to use == to compare instances.
Q2.How can I synchronize two Java processes?
It is not possible to do something like you want in Java. Different Java applications will use different
JVM's fully separating themselves into different 'blackbox'es. However, you have 2 options:
Use sockets (or channels). Basically one application will open the listening socket and start waiting
until it receives some signal. The other application will connect there, and send signals when it had
completed something. I'd say this is a preferred way used in 99.9% of applications.
You can call winapi from Java (on windows).
Q3. Difference between HashMap and Hashtable in Java?
Though both HashMap and Hashtable are based upon hash table data structure, there are subtle
differences between them. HashMap is non synchronized while Hashtable is synchronized and
because of that HashMap is faster than Hashtable, as there is no cost of synchronization associated
with it. One more minor difference is that HashMap allows a null key but Hashtable doesn't.
Q4. What is the difference between wait and notify in Java?
Both wait and notify methods are used for inter-thread communication, where the wait is used to
pause the thread on a condition, and notify is used to send a notification to waiting threads. Both
must be called from synchronized context e.g. synchronized method or block.
Q5. Write a Java program to check if a number is Prime or not?
A number is said prime if it is not divisible by any other number except itself. 1 is not considered
prime, so your check must start with 2. The simplest solution of this to check every number until the
number itself to see if it's divisible or not. When the Interviewer will ask you to improve, you can say
that check until the square root of the number. If you can further improve the algorithm, you will
more impress your interviewer. check out the solution for how to do this in Java
Q6. Difference between transient and volatile in Java?
the transient keyword is used in Serialization while volatile is used in multi-threading. If you want to
exclude a variable from the serialization process then mark that variable transient. Similar to the
static variable, transient variables are not serialized. On the other hand, volatile variables are signal
to the compiler that multiple threads are interested in this variable and it shouldn't reorder its
access. the volatile variable also follows the happens-before relationship, which means any write
happens before any read in a volatile variable. You can also make non-atomic access of double and
long variable atomic using volatile.
Q7. Difference between Association, Composition, and Aggregation?
Between association, composition, and aggregation, the composition is strongest. If the part can
exist without a whole then the relationship between two classes is known as aggregation but if the
part cannot exist without whole then the relationship between two classes is known as composition.
Between Inheritance and composition, later provides a more flexible design.
Q8. Can you override the static method in Java?
No, you cannot override static method in Java because they are resolved at compile time rather than
runtime. Though you can declare and define a static method of the same name and signature in the
child class, this will hide the static method from the parent class, that's why it is also known as
method hiding in Java.
Q9. Difference between the private, public, package, and protected in Java?
All four are access modifiers in Java but only private, public, and protected are modifier keywords.
There is no keyword for package access, it's the default in Java. This means if you don't specify any
access modifier then by default that will be accessible inside the same package.
Private variables are only accessible in the class they are declared, protected are accessible inside all
classes in the same package but only on subclass outside package and public variables e.g. method,
class or variables are accessible anywhere. This is the highest level of access modifier and provides
the lowest form of encapsulation.
Q10. What is the difference between Iterator and Enumeration in Java?
The main difference is that Iterator was introduced in place of Enumeration. It also allows you to
remove elements from the collection while traversing which was not possible with Enumeration. The
methods of Iterator e.g. hasNext() and next() are also more concise then corresponding methods in
Enumeration e.g. hasMoreElements(). You should always use Iterator in your Java code as
Enumeration may get deprecated and removed in future Java releases.
Q11. Is Java “pass-by-reference” or “pass-by-value”?
Java is always pass-by-value. Unfortunately, when we pass the value of an object, we are passing the
reference to it. There is no such thing as "pass-by-reference" in Java. This is confusing to beginners.
The key to understanding this is that something like
Dog myDog;
is not a Dog; it's actually a pointer to a Dog.
So when you have
Dog myDog = new Dog("Rover");
foo(myDog);
you're essentially passing the address of the created Dog object to the foo method.
Q12. How can you generate random numbers in Java?
Using Math.random() you can generate random numbers in the range greater than or equal to 0.1
and less than 1.0
Using Random class in package java.util
Q13. Does Importing a package imports its sub-packages as well in Java?
In java, when a package is imported, its sub-packages aren't imported and developer needs to
import them separately if required.
For example, if a developer imports a package university.*, all classes in the package named
university are loaded but no classes from the sub-package are loaded. To load the classes from its
sub-package ( say department), developer has to import it explicitly as follows:
Q14. In multi-threading how can we ensure that a resource isn't used by multiple threads
simultaneously?
In multi-threading, access to the resources which are shared among multiple threads can be
controlled by using the concept of synchronization. Using synchronized keyword, we can ensure that
only one thread can use shared resource at a time and others can get control of the resource only
once it has become free from the other one using it.
Q15. Why can we not override the static method in Java?
This is one of the core Java programming interview questions for experienced professionals in the
Java interview.
The reasons why we cannot override the static method in Java are
(a) The static method does not belong to the object level. Instead, it belongs to the class level. The
object decides which method can be called in the method overriding.
(b) In the static method, which is the class level method, the type reference decides on which
method is to be called without referring to the object. It concludes that the method that is called is
determined at the compile time.
If any child class defines the static method with the same signature as the parent class, then the
method in the child class hides the method in the parent class.
Q 16.What is data encapsulation and what’s its significance?
Encapsulation is a concept in Object Oriented Programming for combining properties and methods
in a single unit.
Encapsulation helps programmers to follow a modular approach for software development as each
object has its own set of methods and variables and serves its functions independent of other
objects. Encapsulation also serves data hiding purpose.
Q 17. What is a singleton class? Give a practical example of its usage.
A singleton class in java can have only one instance and hence all its methods and variables belong
to just one instance. Singleton class concept is useful for the situations when there is a need to limit
the number of objects for a class.
The best example of singleton usage scenario is when there is a limit of having only one connection
to a database due to some driver limitations or because of any licensing issues.
Q18. What is Final Keyword in Java? Give an example.
In java, a constant is declared using the keyword Final. Value can be assigned only once and after
assignment, value of a constant can’t be changed.
In below example, a constant with the name const_val is declared and assigned avalue:
Private Final int const_val=100
When a method is declared as final,it can NOT be overridden by the subclasses.This method are
faster than any other method,because they are resolved at complied time.
When a class is declares as final,it cannot be subclassed. Example String,Integer and other wrapper
classes.
Q19. Can we declare the main method of our class as private?
In java, main method must be public static in order to run any application correctly. If main method
is declared as private, developer won’t get any compilation error however, it will not get executed
and will give a runtime error.
Q20. Is it compulsory for a Try Block to be followed by a Catch Block in Java for Exception
handling?
Try block needs to be followed by either Catch block or Finally block or both. Any exception thrown
from try block needs to be either caught in the catch block or else any specific tasks to be performed
before code abortion are put in the Finally block.
Q21. Why Runnable Interface is used in Java?
Runnable interface is used in java for implementing multi threaded applications. Java.Lang.Runnable
interface is implemented by a class to support multi threading.
Q22. When a lot of changes are required in data, which one should be a preference to be used?
String or StringBuffer?
Since StringBuffers are dynamic in nature and we can change the values of StringBuffer objects
unlike String which is immutable, it’s always a good choice to use StringBuffer when data is being
changed too much. If we use String in such a case, for every data change a new String object will be
created which will be an extra overhead.
Q23. There are two classes named classA and classB. Both classes are in the same package. Can a
private member of classA can be accessed by an object of classB?
Private members of a class aren’t accessible outside the scope of that class and any other class even
in the same package can’t access them.
Q24. Give an example of use of Pointers in Java class.
There are no pointers in Java. So we can’t use concept of pointers in Java.
Q25. What’s difference between Stack and Queue?
Stack and Queue both are used as placeholder for a collection of data. The primary difference
between a stack and a queue is that stack is based on Last in First out (LIFO) principle while a queue
is based on FIFO (First In First Out) principle.
Q26. Which types of exceptions are caught at compile time?
Checked exceptions can be caught at the time of program compilation. Checked exceptions must be
handled by using try catch block in the code in order to successfully compile the code.
Q27. Describe different states of a thread.
A thread in Java can be in either of the following states:
Ready: When a thread is created, it’s in Ready state.
Running: A thread currently being executed is in running state.
Waiting: A thread waiting for another thread to free certain resources is in waiting state.
Dead: A thread which has gone dead after execution is in dead state.
Q28. Can we use a default constructor of a class even if an explicit constructor is defined?
Java provides a default no argument constructor if no explicit constructor is defined in a Java class.
But if an explicit constructor has been defined, default constructor can’t be invoked and developer
can use only those constructors which are defined in the class.
Q29. A person says that he compiled a java class successfully without even having a main method
in it? Is it possible?
Main method is an entry point of Java class and is required for execution of the program however; a
class gets compiled successfully even if it doesn’t have a main method. It can’t be run though.
Q30. Can we call a non-static method from inside a static method?
Non-Static methods are owned by objects of a class and have object level scope and in order to call
the non-Static methods from a static block (like from a static main method), an object of the class
needs to be created first. Then using object reference, these methods can be invoked.
Q31. What are the two environment variables that must be set in order to run any Java programs?
Java programs can be executed in a machine only once following two environment variables have
been properly set:
PATH variable
CLASSPATH variable
Q32. Can variables be used in Java without initialization?
In Java, if a variable is used in a code without prior initialization by a valid value, program doesn’t
compile and gives an error as no default value is assigned to variables in Java.
Q33. Can a class in Java be inherited from more than one class?
In Java, a class can be derived from only one class and not from multiple classes. Multiple
inheritances is not supported by Java.
Q34. Can a constructor have different name than a Class name in Java?
Constructor in Java must have same name as the class name and if the name is different, it doesn’t
act as a constructor and compiler thinks of it as a normal method.
Q35. What will be the output of Round(3.7) and Ceil(3.7)?
Round(3.7) returns 4 and Ceil(3.7) returns 4.
Q36.Can we use goto in Java to go to a particular line?
In Java, there is not goto keyword and java doesn’t support this feature of going to a particular
labeled line.
Q37. Is JDK required on each machine to run a Java program?
JDK is development Kit of Java and is required for development only and to run a Java program on a
machine, JDK isn’t required. Only JRE is required.
Q38. Is it possible to define a method in Java class but provide it’s implementation in the code of
another language like C?
Yes, we can do this by use of native methods. In case of native method based development, we
define public static methods in our Java class without its implementation and then implementation
is done in another language like C separately.
Q39. How are destructors defined in Java?
In Java, there are no destructors defined in the class as there is no need to do so. Java has its own
garbage collection mechanism which does the job automatically by destroying the objects when no
longer referenced.
Q40. Can a variable be local and static at the same time?
No a variable can’t be static as well as local at the same time. Defining a local variable as static gives
compilation error.
Q41. Can we have static methods in an Interface?
Static methods can’t be overridden in any class while any methods in an interface are by default
abstract and are supposed to be implemented in the classes being implementing the interface. So it
makes no sense to have static methods in an interface in Java.
Q42. In a class implementing an interface, can we change the value of any variable defined in the
interface?
No, we can’t change the value of any variable of an interface in the implementing class as all
variables defined in the interface are by default public, static and Final and final variables are like
constants which can’t be changed later.
Q43. Is it correct to say that due to garbage collection feature in Java, a java program never goes
out of memory?
Even though automatic garbage collection is provided by Java, it doesn’t ensure that a Java program
will not go out of memory as there is a possibility that creation of Java objects is being done at a
faster pace compared to garbage collection resulting in filling of all the available memory resources.
So, garbage collection helps in reducing the chances of a program going out of memory but it
doesn’t ensure that.
Q44. Can we have any other return type than void for main method?
No, Java class main method can have only void return type for the program to get successfully
executed.
Nonetheless , if you absolutely must return a value to at the completion of main method , you can
use System.exit(int status)
Q45. I want to re-reach and use an object once it has been garbage collected. How it’s possible?
Once an object has been destroyed by garbage collector, it no longer exists on the heap and it can’t
be accessed again. There is no way to reference it again.
Q46. In Java thread programming, which method is a must implementation for all threads?
Run() is a method of Runnable interface that must be implemented by all threads.
Q47. I want to control database connections in my program and want that only one thread should
be able to make database connection at a time. How can I implement this logic?
This can be implemented by use of the concept of synchronization. Database related code can be
placed in a method which has synchronized keyword so that only one thread can access it at a time.
Q48. Is there a way to increase the size of an array after its declaration?
Arrays are static and once we have specified its size, we can’t change it. If we want to use such
collections where we may require a change of size (no of items), we should prefer vector over array.
Q49. If an application has multiple classes in it, is it okay to have a main method in more than one
class?
If there is main method in more than one class in a java application, it won’t cause any issue as entry
point for any application will be a specific class and code will start from the main method of that
particular class only.
Q50. I want to persist data of objects for later use. What’s the best approach to do so?
The best way to persist data for future use is to use the concept of serialization.
Get Access Java Practice Online With SynergisticIT…

More Related Content

PDF
Core java interview questions
PDF
Technical interview questions
PDF
Best interview questions
PPTX
Dev labs alliance top 20 basic java interview question for sdet
PDF
Extreme Interview Questions
PPT
Java interview-questions-and-answers
PDF
Java interview questions
PDF
Java j2ee interview_questions
Core java interview questions
Technical interview questions
Best interview questions
Dev labs alliance top 20 basic java interview question for sdet
Extreme Interview Questions
Java interview-questions-and-answers
Java interview questions
Java j2ee interview_questions

What's hot (16)

DOCX
Hibernate3 q&a
PDF
Java interview question
PDF
9 crucial Java Design Principles you cannot miss
PPTX
Technical Interview
PPT
8 most expected java interview questions
PDF
Bea weblogic job_interview_preparation_guide
PDF
Top 100 Java Interview Questions with Detailed Answers
PDF
Java Interview Questions
PPT
Design pattern
PDF
Java questions for interview
DOCX
Java questions with answers
PDF
Hibernate Interview Questions
PDF
Lulu.com.java.j2 ee.job.interview.companion.2nd.edition.apr.2007
PDF
Top 10 Java Interview Questions and Answers 2014
PPTX
Spring andspringboot training
PDF
Java design pattern tutorial
Hibernate3 q&a
Java interview question
9 crucial Java Design Principles you cannot miss
Technical Interview
8 most expected java interview questions
Bea weblogic job_interview_preparation_guide
Top 100 Java Interview Questions with Detailed Answers
Java Interview Questions
Design pattern
Java questions for interview
Java questions with answers
Hibernate Interview Questions
Lulu.com.java.j2 ee.job.interview.companion.2nd.edition.apr.2007
Top 10 Java Interview Questions and Answers 2014
Spring andspringboot training
Java design pattern tutorial
Ad

Similar to 50+ java interview questions (20)

PDF
Top 100 Java Interview Questions and Answers.pdf
PDF
Asked Java Interview Questions for fresher
DOC
Questions of java
DOCX
Java Core
PPTX
Java interview questions 2
DOCX
DOCX
Java interview questions and answers for cognizant By Data Council Pune
PDF
JAVA VIVA QUESTIONS_CODERS LODGE.pdf
DOCX
100 Java questions FOR LOGIC BUILDING SOFTWARE.docx
DOCX
Java Core Parctical
DOC
Core java questions
DOC
Core java questions
PDF
Top 1000 Java Interview Questions Includes Spring, Hibernate, Microservices, ...
PDF
Top 1000 Java Interview Questions_ Includes Spring, Hibernate, Microservices,...
DOC
Java interview faq's
PDF
ITI COPA Java MCQ important Questions and Answers
DOCX
Java questions for viva
PPTX
Java For Automation
DOC
Core java interview questions1
Top 100 Java Interview Questions and Answers.pdf
Asked Java Interview Questions for fresher
Questions of java
Java Core
Java interview questions 2
Java interview questions and answers for cognizant By Data Council Pune
JAVA VIVA QUESTIONS_CODERS LODGE.pdf
100 Java questions FOR LOGIC BUILDING SOFTWARE.docx
Java Core Parctical
Core java questions
Core java questions
Top 1000 Java Interview Questions Includes Spring, Hibernate, Microservices, ...
Top 1000 Java Interview Questions_ Includes Spring, Hibernate, Microservices,...
Java interview faq's
ITI COPA Java MCQ important Questions and Answers
Java questions for viva
Java For Automation
Core java interview questions1
Ad

Recently uploaded (20)

PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
LDMMIA Reiki Yoga S2 L3 Vod Sample Preview
PDF
3.The-Rise-of-the-Marathas.pdfppt/pdf/8th class social science Exploring Soci...
PPTX
NOI Hackathon - Summer Edition - GreenThumber.pptx
PPTX
COMPUTERS AS DATA ANALYSIS IN PRECLINICAL DEVELOPMENT.pptx
PDF
What Is Coercive Control? Understanding and Recognizing Hidden Abuse
PPTX
Skill Development Program For Physiotherapy Students by SRY.pptx
PPTX
UNDER FIVE CLINICS OR WELL BABY CLINICS.pptx
PPTX
How to Manage Starshipit in Odoo 18 - Odoo Slides
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
Onica Farming 24rsclub profitable farm business
PDF
Landforms and landscapes data surprise preview
PDF
Mga Unang Hakbang Tungo Sa Tao by Joe Vibar Nero.pdf
PDF
Module 3: Health Systems Tutorial Slides S2 2025
PPTX
How to Manage Loyalty Points in Odoo 18 Sales
DOCX
UPPER GASTRO INTESTINAL DISORDER.docx
PPTX
Congenital Hypothyroidism pptx
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
Presentation on Janskhiya sthirata kosh.
PPTX
Open Quiz Monsoon Mind Game Prelims.pptx
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
LDMMIA Reiki Yoga S2 L3 Vod Sample Preview
3.The-Rise-of-the-Marathas.pdfppt/pdf/8th class social science Exploring Soci...
NOI Hackathon - Summer Edition - GreenThumber.pptx
COMPUTERS AS DATA ANALYSIS IN PRECLINICAL DEVELOPMENT.pptx
What Is Coercive Control? Understanding and Recognizing Hidden Abuse
Skill Development Program For Physiotherapy Students by SRY.pptx
UNDER FIVE CLINICS OR WELL BABY CLINICS.pptx
How to Manage Starshipit in Odoo 18 - Odoo Slides
102 student loan defaulters named and shamed – Is someone you know on the list?
Onica Farming 24rsclub profitable farm business
Landforms and landscapes data surprise preview
Mga Unang Hakbang Tungo Sa Tao by Joe Vibar Nero.pdf
Module 3: Health Systems Tutorial Slides S2 2025
How to Manage Loyalty Points in Odoo 18 Sales
UPPER GASTRO INTESTINAL DISORDER.docx
Congenital Hypothyroidism pptx
Renaissance Architecture: A Journey from Faith to Humanism
Presentation on Janskhiya sthirata kosh.
Open Quiz Monsoon Mind Game Prelims.pptx

50+ java interview questions

  • 1. 50+ Java Interview Questions For Google, Microsoft & Adobe Q1. Can == be used on enum? Yes, enums have tight instance controls that allow you to use == to compare instances. Q2.How can I synchronize two Java processes? It is not possible to do something like you want in Java. Different Java applications will use different JVM's fully separating themselves into different 'blackbox'es. However, you have 2 options: Use sockets (or channels). Basically one application will open the listening socket and start waiting until it receives some signal. The other application will connect there, and send signals when it had completed something. I'd say this is a preferred way used in 99.9% of applications. You can call winapi from Java (on windows). Q3. Difference between HashMap and Hashtable in Java? Though both HashMap and Hashtable are based upon hash table data structure, there are subtle differences between them. HashMap is non synchronized while Hashtable is synchronized and because of that HashMap is faster than Hashtable, as there is no cost of synchronization associated with it. One more minor difference is that HashMap allows a null key but Hashtable doesn't. Q4. What is the difference between wait and notify in Java? Both wait and notify methods are used for inter-thread communication, where the wait is used to pause the thread on a condition, and notify is used to send a notification to waiting threads. Both must be called from synchronized context e.g. synchronized method or block. Q5. Write a Java program to check if a number is Prime or not? A number is said prime if it is not divisible by any other number except itself. 1 is not considered prime, so your check must start with 2. The simplest solution of this to check every number until the number itself to see if it's divisible or not. When the Interviewer will ask you to improve, you can say
  • 2. that check until the square root of the number. If you can further improve the algorithm, you will more impress your interviewer. check out the solution for how to do this in Java Q6. Difference between transient and volatile in Java? the transient keyword is used in Serialization while volatile is used in multi-threading. If you want to exclude a variable from the serialization process then mark that variable transient. Similar to the static variable, transient variables are not serialized. On the other hand, volatile variables are signal to the compiler that multiple threads are interested in this variable and it shouldn't reorder its access. the volatile variable also follows the happens-before relationship, which means any write happens before any read in a volatile variable. You can also make non-atomic access of double and long variable atomic using volatile. Q7. Difference between Association, Composition, and Aggregation? Between association, composition, and aggregation, the composition is strongest. If the part can exist without a whole then the relationship between two classes is known as aggregation but if the part cannot exist without whole then the relationship between two classes is known as composition. Between Inheritance and composition, later provides a more flexible design. Q8. Can you override the static method in Java? No, you cannot override static method in Java because they are resolved at compile time rather than runtime. Though you can declare and define a static method of the same name and signature in the child class, this will hide the static method from the parent class, that's why it is also known as method hiding in Java. Q9. Difference between the private, public, package, and protected in Java? All four are access modifiers in Java but only private, public, and protected are modifier keywords. There is no keyword for package access, it's the default in Java. This means if you don't specify any access modifier then by default that will be accessible inside the same package. Private variables are only accessible in the class they are declared, protected are accessible inside all classes in the same package but only on subclass outside package and public variables e.g. method, class or variables are accessible anywhere. This is the highest level of access modifier and provides the lowest form of encapsulation. Q10. What is the difference between Iterator and Enumeration in Java? The main difference is that Iterator was introduced in place of Enumeration. It also allows you to remove elements from the collection while traversing which was not possible with Enumeration. The methods of Iterator e.g. hasNext() and next() are also more concise then corresponding methods in Enumeration e.g. hasMoreElements(). You should always use Iterator in your Java code as Enumeration may get deprecated and removed in future Java releases. Q11. Is Java “pass-by-reference” or “pass-by-value”?
  • 3. Java is always pass-by-value. Unfortunately, when we pass the value of an object, we are passing the reference to it. There is no such thing as "pass-by-reference" in Java. This is confusing to beginners. The key to understanding this is that something like Dog myDog; is not a Dog; it's actually a pointer to a Dog. So when you have Dog myDog = new Dog("Rover"); foo(myDog); you're essentially passing the address of the created Dog object to the foo method. Q12. How can you generate random numbers in Java? Using Math.random() you can generate random numbers in the range greater than or equal to 0.1 and less than 1.0 Using Random class in package java.util Q13. Does Importing a package imports its sub-packages as well in Java? In java, when a package is imported, its sub-packages aren't imported and developer needs to import them separately if required. For example, if a developer imports a package university.*, all classes in the package named university are loaded but no classes from the sub-package are loaded. To load the classes from its sub-package ( say department), developer has to import it explicitly as follows: Q14. In multi-threading how can we ensure that a resource isn't used by multiple threads simultaneously? In multi-threading, access to the resources which are shared among multiple threads can be controlled by using the concept of synchronization. Using synchronized keyword, we can ensure that only one thread can use shared resource at a time and others can get control of the resource only once it has become free from the other one using it. Q15. Why can we not override the static method in Java?
  • 4. This is one of the core Java programming interview questions for experienced professionals in the Java interview. The reasons why we cannot override the static method in Java are (a) The static method does not belong to the object level. Instead, it belongs to the class level. The object decides which method can be called in the method overriding. (b) In the static method, which is the class level method, the type reference decides on which method is to be called without referring to the object. It concludes that the method that is called is determined at the compile time. If any child class defines the static method with the same signature as the parent class, then the method in the child class hides the method in the parent class. Q 16.What is data encapsulation and what’s its significance? Encapsulation is a concept in Object Oriented Programming for combining properties and methods in a single unit. Encapsulation helps programmers to follow a modular approach for software development as each object has its own set of methods and variables and serves its functions independent of other objects. Encapsulation also serves data hiding purpose. Q 17. What is a singleton class? Give a practical example of its usage. A singleton class in java can have only one instance and hence all its methods and variables belong to just one instance. Singleton class concept is useful for the situations when there is a need to limit the number of objects for a class. The best example of singleton usage scenario is when there is a limit of having only one connection to a database due to some driver limitations or because of any licensing issues.
  • 5. Q18. What is Final Keyword in Java? Give an example. In java, a constant is declared using the keyword Final. Value can be assigned only once and after assignment, value of a constant can’t be changed. In below example, a constant with the name const_val is declared and assigned avalue: Private Final int const_val=100 When a method is declared as final,it can NOT be overridden by the subclasses.This method are faster than any other method,because they are resolved at complied time. When a class is declares as final,it cannot be subclassed. Example String,Integer and other wrapper classes. Q19. Can we declare the main method of our class as private? In java, main method must be public static in order to run any application correctly. If main method is declared as private, developer won’t get any compilation error however, it will not get executed and will give a runtime error. Q20. Is it compulsory for a Try Block to be followed by a Catch Block in Java for Exception handling? Try block needs to be followed by either Catch block or Finally block or both. Any exception thrown from try block needs to be either caught in the catch block or else any specific tasks to be performed before code abortion are put in the Finally block. Q21. Why Runnable Interface is used in Java? Runnable interface is used in java for implementing multi threaded applications. Java.Lang.Runnable interface is implemented by a class to support multi threading. Q22. When a lot of changes are required in data, which one should be a preference to be used? String or StringBuffer? Since StringBuffers are dynamic in nature and we can change the values of StringBuffer objects unlike String which is immutable, it’s always a good choice to use StringBuffer when data is being changed too much. If we use String in such a case, for every data change a new String object will be created which will be an extra overhead.
  • 6. Q23. There are two classes named classA and classB. Both classes are in the same package. Can a private member of classA can be accessed by an object of classB? Private members of a class aren’t accessible outside the scope of that class and any other class even in the same package can’t access them. Q24. Give an example of use of Pointers in Java class. There are no pointers in Java. So we can’t use concept of pointers in Java. Q25. What’s difference between Stack and Queue? Stack and Queue both are used as placeholder for a collection of data. The primary difference between a stack and a queue is that stack is based on Last in First out (LIFO) principle while a queue is based on FIFO (First In First Out) principle. Q26. Which types of exceptions are caught at compile time? Checked exceptions can be caught at the time of program compilation. Checked exceptions must be handled by using try catch block in the code in order to successfully compile the code. Q27. Describe different states of a thread. A thread in Java can be in either of the following states: Ready: When a thread is created, it’s in Ready state. Running: A thread currently being executed is in running state. Waiting: A thread waiting for another thread to free certain resources is in waiting state. Dead: A thread which has gone dead after execution is in dead state. Q28. Can we use a default constructor of a class even if an explicit constructor is defined? Java provides a default no argument constructor if no explicit constructor is defined in a Java class. But if an explicit constructor has been defined, default constructor can’t be invoked and developer can use only those constructors which are defined in the class. Q29. A person says that he compiled a java class successfully without even having a main method in it? Is it possible? Main method is an entry point of Java class and is required for execution of the program however; a class gets compiled successfully even if it doesn’t have a main method. It can’t be run though. Q30. Can we call a non-static method from inside a static method?
  • 7. Non-Static methods are owned by objects of a class and have object level scope and in order to call the non-Static methods from a static block (like from a static main method), an object of the class needs to be created first. Then using object reference, these methods can be invoked. Q31. What are the two environment variables that must be set in order to run any Java programs? Java programs can be executed in a machine only once following two environment variables have been properly set: PATH variable CLASSPATH variable Q32. Can variables be used in Java without initialization? In Java, if a variable is used in a code without prior initialization by a valid value, program doesn’t compile and gives an error as no default value is assigned to variables in Java. Q33. Can a class in Java be inherited from more than one class? In Java, a class can be derived from only one class and not from multiple classes. Multiple inheritances is not supported by Java. Q34. Can a constructor have different name than a Class name in Java? Constructor in Java must have same name as the class name and if the name is different, it doesn’t act as a constructor and compiler thinks of it as a normal method. Q35. What will be the output of Round(3.7) and Ceil(3.7)? Round(3.7) returns 4 and Ceil(3.7) returns 4. Q36.Can we use goto in Java to go to a particular line?
  • 8. In Java, there is not goto keyword and java doesn’t support this feature of going to a particular labeled line. Q37. Is JDK required on each machine to run a Java program? JDK is development Kit of Java and is required for development only and to run a Java program on a machine, JDK isn’t required. Only JRE is required. Q38. Is it possible to define a method in Java class but provide it’s implementation in the code of another language like C? Yes, we can do this by use of native methods. In case of native method based development, we define public static methods in our Java class without its implementation and then implementation is done in another language like C separately. Q39. How are destructors defined in Java? In Java, there are no destructors defined in the class as there is no need to do so. Java has its own garbage collection mechanism which does the job automatically by destroying the objects when no longer referenced. Q40. Can a variable be local and static at the same time? No a variable can’t be static as well as local at the same time. Defining a local variable as static gives compilation error. Q41. Can we have static methods in an Interface? Static methods can’t be overridden in any class while any methods in an interface are by default abstract and are supposed to be implemented in the classes being implementing the interface. So it makes no sense to have static methods in an interface in Java. Q42. In a class implementing an interface, can we change the value of any variable defined in the interface? No, we can’t change the value of any variable of an interface in the implementing class as all variables defined in the interface are by default public, static and Final and final variables are like constants which can’t be changed later. Q43. Is it correct to say that due to garbage collection feature in Java, a java program never goes out of memory? Even though automatic garbage collection is provided by Java, it doesn’t ensure that a Java program will not go out of memory as there is a possibility that creation of Java objects is being done at a faster pace compared to garbage collection resulting in filling of all the available memory resources.
  • 9. So, garbage collection helps in reducing the chances of a program going out of memory but it doesn’t ensure that. Q44. Can we have any other return type than void for main method? No, Java class main method can have only void return type for the program to get successfully executed. Nonetheless , if you absolutely must return a value to at the completion of main method , you can use System.exit(int status) Q45. I want to re-reach and use an object once it has been garbage collected. How it’s possible? Once an object has been destroyed by garbage collector, it no longer exists on the heap and it can’t be accessed again. There is no way to reference it again. Q46. In Java thread programming, which method is a must implementation for all threads? Run() is a method of Runnable interface that must be implemented by all threads. Q47. I want to control database connections in my program and want that only one thread should be able to make database connection at a time. How can I implement this logic? This can be implemented by use of the concept of synchronization. Database related code can be placed in a method which has synchronized keyword so that only one thread can access it at a time. Q48. Is there a way to increase the size of an array after its declaration? Arrays are static and once we have specified its size, we can’t change it. If we want to use such collections where we may require a change of size (no of items), we should prefer vector over array. Q49. If an application has multiple classes in it, is it okay to have a main method in more than one class?
  • 10. If there is main method in more than one class in a java application, it won’t cause any issue as entry point for any application will be a specific class and code will start from the main method of that particular class only. Q50. I want to persist data of objects for later use. What’s the best approach to do so? The best way to persist data for future use is to use the concept of serialization. Get Access Java Practice Online With SynergisticIT…