Compiler Rules trong việc xây dựng class trong Java

Java là một ngôn ngữ lập trình hướng đối tượng. (OOP language) và dựa trên các lớp (OOP không nhất thiết phải dựa trên class). Khác với phần lớn các ngôn ngữ lập trình khác, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode. Bytecode sau đó được môi trường thực thi (runtime enviroment) chạy.