() - method
{} - b lock of codes
[] - array
<> - generics

ArrayList
ArrayList<String>


compile -> run -> load class -> static initializer -> constructor


javac Hello.java	-> Hello.class (bytecodes)
java Hello.main

int x  = -7;
if ( x > 0 & x++ )

if ( x > 0 && x++ )

enum type 


overloading vs overriding


overloading - methods with same name but different parameter list, same class

overriding - methods with same name and same parameter list, subclass override superclass method


final keyword

1. variable - constant
2. method - cannot override
3. class - cannot inherit/extends

static keyword

1. variable - class variable
2. method - class method
3. initializer - for initializing static variable













