Lập trình hớng đối tợng hỗ trợ một cách nhìn về những chơng trình nh là tập hợp của những đối tợng tơng tác lẫn nhau. Quan điểm nền tảng về một đối tợng là nó đợc bao gồm bởi những giá trị gọi là các thuộc tính (atributes) hoặc biến thể hiện (instance variables), và các thao tác thực hiện trên các giá trị này, đợc gọi là các phơng thức thể hiện (instance methods.)
Một đối tợng là một tập hợp các thuộc tính và thao tác.
• Một đối tợng đóng gói (encapsulates) các giá trị dữ liệu trong một thực thể đơn nhất.
• Cách ứng xử của đối tợng (object’s behavior) thờng đựoc sử dụng lại (reused) trong những tình huống khác nhau.
• Một đối tợng thờng đợc hình thành từ những đối tợng khả dẫn xuất. Chúng ta sẽ khảo sát cơ chế thừa kế (inheritance) trong chơng XII. Tất cả những chơng trình trớc đây của chúng ta đều rất đơn giản với những kiểu dữ liệu quen thuộc- các số nguyên và số dấu phẩy động. Các dữ liệu này đợc thao tác trên các hàm số học quen thuộc, đợc in ra bởi phơng thức System.out.print, đợc lu trong các biến, đợc truyền vào các phơng thức, và đợc trả về nh là kết quả của lời gọi phơng thức.
Song thế giới thì đầy rẫu những kiểu khác nhau của dữ liệu mà Java không thể cung cấp tất cả chúng. Vì lý do này một trong những công việc chính trong lập trình là định nghĩa các kiểu đối tợng mới.
Một định nghĩa lớp có dạng nh sau:
class name
{
declarations
method definitions
}
Java quy ớc tên của lớp đợc viết bằng những chữ hoa và thờng, với chữ cái đầu tiên đợc viết hoa. Phần mô tả (declarations) bao gồm các hằng tợng trng (symbolic constants) và các biến thể hiện, phần kiến tạo (constructor) chứa đoạn mã tạo lập và