Java Overview

  • Identifier

naming conventions

  • Variables

local vs class variable, instance vs static variable

  • Data Type

primitive vs reference data type

  • Type Conversion

implicit vs explicit type conversion
int <-> String conversion
numeric data type conversion

  • Operator

arithmetic vs relational vs bitwise vs logical vs assignment operator
operator precedence
postfix vs prefix increment/decrement operator

  • Control Statement

if/else, switch, for/foreach, while/do-
while, break/continue

  • Array

Integer Array
Person Array
2D Array
returning an array vs passing an array as parameter

  • Enum

enum data type
enum Operation example
enum Operator, enum Gender, enum Weekday

  • Method

parameter passing (pass-by value – primitive vs reference data type)
method overloading vs overriding

  • Class

Person Class
Static vs Instance Initializer Block
constructor usage guideline
singleton design pattern vs static class
ValueClass instance vs static
BankAccount instance vs static
Person instance vs static
PersonContactTest (has-a PhoneNumber)
ArithmeticCalculator (has-a Value & ArithmeticOperator)

  • Inheritance

BankAccount SavingAccount CheckingAccount class(instance vs static member)
Car Sedan class (default/public/protected/private)
Person Student class (instance vs static method overriding)

  • Polymorphism

Polymorphism vs Method Overriding vs Method Overloading
Abstract Class & Abstract Method & Polymorphism

  • Interface

Comparable & Comparator Interface
Shape Polymorphism with Interface

  • Collections

autoboxing and unboxing
Equals vs Contains
== vs equals vs hashCode vs contains
Array vs ArrayList
Difference between Array and ArrayList

  • Swing

Swing Component
Layout Manager
5 Ways to Implement Event Listener
Event Listener (ChangeListener, KeyListener, ActionListener)
Key & Mouse Motion Listener & Adapter
Custom Component