enum
small, finite/fixed set
known at compile time
no need to extend
switch
works on primitive type, enum, string
primitives
boxed primitives(reference)
equality
override equal()
override hashcode()
illegalException
Extend
Throw
Catch
exceptional conditions
throw exceptions
cat exceptions
static
happens at compile time
belongs to a class
fields:one variable for the whole class rather than one per object
methods:associated with the class that doesnt depend on an instance
classes:helper class with strong association
Encapsulation private, protected, public
Polymorphism
Assigning behavior or value in a subclass to something that was
already declared in the main class
@overload
same name & differnt argument type | different return types
@override
same name & same argument & same return type
Interface
has only method declarations
Abstract class
abstract method : only abstract methods
implemented or overrided in subclass
show