Java Cheat Sheet - Part1
Java Cheat Sheet - Part1
From <https://medium.com/@s.sreejith/core-java-interview-cheat-sheet-dce4f2590f4f>
BASICS
1. Java language and platform
Java language : High level, Platform Independent, Portable
Java platform : JRE and API
2. JVM, JRE & JDK
JVM : VM that provide specification for JRE.
JRE : implementation of JVM where the byte code get executed.
JDK : JRE + Tools (javac, javadoc, jar).
3. Static
Static Variable : belong to class and get memory only once in class area at the time of class
loading.
Static Method : belong to class, cant use non static variables and methods inside if it is not known
Static Block : initialize static variables and executed before main method at the time of class
loading.
Static Import : access any static member of a class directly. There is no need to qualify it by the
class name in program.
4. Access Modifiers
Public > Protected > Default > Private
5. Final
variable (can’t change, constant), method(can’t override), class (can’t inherit)
6. Package
group of similar classes, interface and sub package.
java.lang package is imported implicitly( Throwable, Iterable, Comparable, Object).
OOPS
1. Object
real time entity with state and behavior.
2. Class
collection of similar Objects.
Constructor : special function used to initialize state of an object. No return Type but returns
current instance of the class. Not inherited so cant make final. Called by super() method from child
class.Cant have this() and Super() together in constructor as both should be the first statement.
this : points current object, it is final type, can be used in synchronized block
3. Encapsulation
wrapping data and associated function into single unit implements data hiding using private
property accessed using getter and setter methods.
4. Inheritance
mechanism by which one class acquire properties and behavior of another on class, Code re-
usability.
Super : points to parent class object.
5. Polymorphism
same message can be processed in more than one form.
Method Overloading : same function name but differ in number and type of arguments within the
same class, Readability , Compile time.
Method overriding : specific implementation of method in child class which is already defined in
defined in parent class, Run time(only method not property).
Covarient return type : child class method return type should be sub type of return type of parent
class.
6. Abstraction
implementation hiding using Abstract class and Interface.
Abstract class : cant be instantiated, should have at least one abstract method, can have
constructor(called by extended class constructor during object creation).
Interface : no constructor and instance, public static final members.
Tagged/Marker interface: no members defined, used to give mark/tag. eg: serializable, clonable.
7. Relation
Association : relationship where all objects have their own life-cycle & there is no ownership. eg:
teacher-student
Aggregation : special type of association, separate life cycle but there is ownership eg :
department- teacher
Composition : Special type of aggregation, no separate life cycle and if parent deleted, all child will
get delete.