MỤC TIÊU
+ Kết thúc bài học này bạn có khả năng
- Hiểu sâu hơn về hàm tạo
- Phân biêt được tham biến và tham trị
- Sử dụng tham số biến đổi
- Biết cách sử dụng static, final
- Hiểu thuật toán đệ quy
VẤN ĐỀ VỀ CONSTRUCTOR
1) Nếu một lớp không định nghĩa về constructor thì java tự động cung cấp constructor mặc định (không tham số) cho lớp.
2) Tạo một constructor muốn gọi constructor khác cung lớp thì sử dụng this(tham số), muốn gọi constructor của lớp cha thì sử dụng super(tham số)
3) Nếu trong constructor không gọi constructor khác thì nó tự gọi constructor không tham số của lớp cha super()
4) Lời gọi constructor (super() hoặc this()) khác phải là lệnh đầu tiên
5) Khi đã định nghĩa các constructor cho một lớp thì chỉ được phép sử dụng các constructor này để tạo đối tượng
TRẮC NGHIỆM
Hãy cho biết đoạn mã lệnh sau sai ở đâu? vì sao?
GIẢI THÍCH
Chiếu theo điều 1) và điều 3) slide trước ta có sơ đồ tương đương
THAM SỐ PHƯƠNG THỨC
Khi truyền tham số vào một phương thức, nếu phương thức có làm thay đổi giá trị của tham số thì giá trị của tham số sau khi gọi phương thức có bị thay đổi hay không?
PHÂN LOẠI THAM SỐ
TRUYỀN THAM SỐ CHO PHƯƠNG THỨC
Khi phương thức làm thay đổi giá trị của tham số thì
Nếu là tham trị: giá trị của tham số sẽ không bị thay đổi
Nếu là tham biến: giá trị của tham số sẽ bị thay đổi theo
THAM SỐ BIẾN ĐỔI (VARARGS)
Tham số biến đổi là tham số khi truyền vào phương thức với số lượng tùy ý (phải cùng kiểu).
TRUYỀN THAM SỐ BIẾN ĐỔI (VARARGS)
Bản chất của tham số biến đổi là mảng nhưng khi truyền tham số bạn có thể truyền vào nguyên mảng hoặc liệt kê các phần tử
Trong một hàm, chỉ có thể khai báo duy nhất một tham số kiểu varargs và phải là tham số cuối cùng
STATIC
Từ khóa static được sử dụng để định nghĩa cho khối và các thành viên tĩnh (lớp nội, phương thức, trường).
Khối static {} sẽ chạy trước khi tạo đối tượng hoặc truy xuất bất kỳ thành viên tĩnh khác
Thành viên tĩnh của lớp được sử dụng độc lập với các đối tượng được tạo ra từ lớp đó.
Có thể truy cập đến một thành viên tĩnh thông qua tên lớp mà không cần tham chiếu đến một đối tượng cụ thể
Trường static là dữ liệu dùng chung cho tất cả các đối tượng được tạo ra từ lớp đó.
Trong khối và phương thức tĩnh chỉ được truy cập đến các thành viên tĩnh khác mà không được phép truy cập đến thành viên thông thường của class
ĐỊNH NGHĨA HẰNG
Trong Java có 3 loại hằng
Lớp hằng là lớp không cho phép thừa kế
Phương thức hằng là phương thức không cho phép ghi đè
Biến hằng là biến không cho phép thay đổi giá trị
Sử dụng từ khóa final để định nghĩa hằng
CHỌN ĐOẠN MÃ ĐÚNG
LỚP OBJECT
Khi định nghĩa một lớp mà không kế thừa từ một lớp khác thì mặc định kế thừa lớp Object
Như vậy mọi lớp đều có lớp cha chỉ duy nhất một lớp không có cha là Object
LỚP NỘI
Lớp nội là lớp được khai báo bên trong một lớp khác
Có hai loại: lớp nội tĩnh và lớp nội thông thường
Lớp bên trong chỉ có thể xác định trong phạm vi lớp ngoài cùng và có thể truy cập các thành viên của lớp bao nó
ĐỆ QUY
Một phương thức gọi chính nó
Phải có lệnh dừng đệ quy trong phương thức để tránh vòng lặp vô hạn
Đệ qui dễ hiểu nhưng rất tốn tài nguyên
TỔNG KẾT NỘI DUNG BÀI HỌC
Tìm hiểu sâu về constructor
Phân loại tham số
Tham số biến đổi
Sử dụng static
Định nghĩa hằng
Lớp nội
Đệ quy
Xem tiếp Bài 9: Packages and Interfaces
Post a Comment