1.Access Modifier
Access Modifier là các quy định về quyền truy cập của lớp, các phương thức, đặc điểm trong lớp đó. Có 4 loại Access Modifier là public, protected, default, private.
Khai báo public các thuôc tính sẽ được cấp quyền truy cập ở mọi nơi.
Protected phạm vi truy cập chỉ trong lớp cha và các lớp con kế thừa nhưng ở ngoài package.
Default phạm vi chỉ trong package không được ra ngoài package.
Private phạm vi truy cập chỉ trong lớp đó.
2.Getter và setter
Tại sao lại phải có phương thức getter và setter? Tại sao lại không truy cập thẳng đến thuộc tính trong class?
Vì khi để public tất cả đều có thể truy cập đến thuộc tính của đối tượng và thay đổi nó một cách không kiểm soát. Vậy nên ta sẽ để các thuộc tính bên trong quyền truy cập Private nhằm đảm bảo tính bao gói. Qua đó phải sinh ra thuộc tính setter() để thay đổi thuộc tính đó khi cần và getter để lấy giá trị trong trường hợp cần thiết mà không vô tình làm thay đổi thuộc tính đó. Ngoài ra setter() còn có thể quy định kiểu của thuộc tính thông qua các điều kiện, không cho bên ngoài thay đổi giá trị của thuộc tính một cách tùy tiện.