Basics
What is Java?
Java is an object oriented programming language
Is Java invented for Internet?
No, it was developed for programming towards tiny devices
What is byte code?
It is machine understandable code and targeted for JVM (Java Virtual Machine). It is
class file.
What is JVM?
Java Virtual Machine which accepts java byte code and produces result
What are java buzzwords?
Java buzzwords explain the important features of java. They are Simple,
Secured, Portable, architecture neutral, high performance, dynamic, robust, interpreted
etc.
Is byte code is similar to .obj file in C?
Yes, both are machine understandable codes
No, .obj file directly understood by machine, byte code requires JVM
What is new feature in control statements comparing with C/C++?
Labeled break and labeled continue are new
What are new features in basic features comparing with C/C++?
Data types: All data types on all machines have fixed size;
Constants: final is used to declare constant
Boolean Type: boolean is new data type in Java which can store true/false
There are no structures/unions/pointers
Is String data type?
No, Strings are classes in Java (Arrays are classes)
What are length and length( ) in Java?
Both gives number of char/elements, length is variable defined in Array class, length( ) is
method defined in String class
Object-Orientation Section
What is class?
Class is blue print for objects; Class is collection of objects; Class gives the general
structure for objects.
What is object?
Object is an instance of class. Object is real world entity which has state, identity and
behavior.
What is encapsulation?
Encapsulation is packing of data with their methods
What is abstraction?
Abstraction is the process of identification of essential features of objects
What is data hiding?
Implementation details of methods are hidden from the user
What is hierarchy?
Ordering of classes (or inheritance)
What is inheritance?
Extending an existing class is called inheritance. Extracting the features of super class
Why inheritance is important?
Reusability is achieved through inheritance
Which types of inheritances are available in Java?
Simple, Hierarchical and Multilevel
Can we achieve multiple inheritances in Java?
With the help of interfaces we can achieve
What is interface?
Interface is collection of final variables and abstract methods
(We need not give final and abstract keywords and By default they are public methods)
What is the difference between class and interface?
Class contains implemented methods, but interface contains non-implemented methods
What is polymorphism?
Multiple (poly) forms (morphs)
Same instance can respond different manners is called polymorphism
Can we achieve run time polymorphism in Java?
Yes, also called as dynamic polymorphism. Possible by dynamic method dispatch
What is dynamic method dispatch?
When you assign object of sub class for the super class instance, similar methods of super
class are hidden
What is overloading?
Same method name can be used with different type and number of arguments (in same
class)
What is overriding?
Same method name, similar arguments and same number of arguments can be
defined in super class and sub class. Sub class methods override the super class methods.
What is the difference between overloading and overriding?
Overloading related to same class and overriding related sub-super class
Compile time polymorphism achieved through overloading, run time polymorphism
achieved through overriding
Keywords section
What is keyword?
Java reserved word which should is not used as variable/class-name (e.g.: break, for, if,
while etc)
What is final keyword?
Used before variables for declaring constants
Used before methods for preventing from overriding
Used before class-name for preventing from inheritance
What is static keyword?
Used before variable for defining shared variables
Used before method for defining class-level methods, these methods
can be called without creating objects (e.g.: parseInt method of Integer class)
What is abstract keyword?
Used for creating abstract class, class which doesn't have any instance
What is this keyword?
To call current class variables and current class methods we can use this key word
What is this( )?
Used for calling another constructor of current class
What is super keyword?
To call super class variables and super class methods we can use super key word
What is super( )?
Used for calling of super class constructor and it should be first executable statement in
sub class constructor
Packages and Exception handling section:
What is package?
Package is collection of classes and interfaces
How to define package?
By using package keyword before the definition of class
What is CLASSPATH?
It is an environment variable which is used for defining the location of class files
What is jar?
Jar stands for Java archive files, compressed set of class files and can be used in
CLASSPATH
What is the meaning of import java.awt.*;?
Import all the classes and interfaces in the java.awt.package. This doesn't imports other
packages
defined in java.awt. package.
Is it necessary to give import java.awt.event.*;, when already import java.awt.* given?
Yes, import java.awt.* doesn't imports event package defined in java.awt. package.
What is exception?
Abnormal termination of program is called exception
What is exception handler?
A method which controls abnormal termination of program
What are the keywords used for exception handling?
try, catch, throw, throws and finally
What is the difference between throw and throws keywords?
throw keyword is used for invoking an exception (For raising)
throws keyword lists exception names which can be ignored from the method execution
What is the difference between final and finally?
final is used for defining constants
finally is used for executing code after completion of exception handler
What is catch( ) block?
Exception handler that controls abnormal termination of program
Can we have multiple catch( ) blocks?
Yes, but first sub class exceptions should be handled
What happen is we not handle sub class exception first?
Generates compile time error saying that unreachable code is defined in the program