Professional Documents
Culture Documents
Hàm 𝘀𝘁𝗿𝗰𝗮𝘁() sử dụng để nối 2 chuỗi. Hàm này nhận vào 2 tham số là chuỗi đích và chuỗi nguồn.
Hàm 𝘀𝘁𝗿𝗰𝗺𝗽() sử dụng để so sánh 2 chuỗi theo thứ tự từ điển. Hàm trả về 3 giá trị integer mọi
người cần quan tâm đó là:
0 ( 0 ): Giá trị bằng 0 khi cả hai chuỗi được tìm thấy giống hệt nhau.
Lớn hơn 0 ( >0 ): Giá trị lớn hơn 0 được trả về khi ký tự không khớp đầu tiên trong leftStr có giá
trị ASCII lớn hơn ký tự tương ứng trong rightStr
Nhỏ hơn 0 ( <0 ): Một giá trị nhỏ hơn 0 được trả về khi ký tự không khớp đầu tiên trong leftStr
có giá trị ASCII nhỏ hơn ký tự tương ứng trong rightStr.
Hàm 𝘀𝘁𝗿𝗰𝗽𝘆() sử dụng để copy nội dung của một string sang một string khác.
Tất cả các method trong interface đều là method trừu tượng. các method trừu trượng trong
interface đều mặc định là public.
Các class để triển khai phần thân method bên trong interface, các class đều phải thực thi interface
đó bằng cách sử dụng từ khóa implements <name interface>.
Inheritance (Kế thừa)
Ý tưởng kế thừa đơn giản nhưng mạnh mẽ: Khi bạn muốn tạo một class mới và đã có một class
bao gồm một số code mà bạn muốn, bạn có thể lấy class mới của mình từ class hiện có. Khi thực
hiện điều này, bạn có thể sử dụng lại các trường và phương thức của class hiện có mà không cần
phải tự viết (và debug!) chúng.
Một class con kế thừa tất cả các thành phần(trường, phương thức và class lồng nhau) từ class
cha của nó. Các hàm tạo không phải là thành phần, vì vậy chúng không được kế thừa bởi các class
con, nhưng hàm tạo của class cha có thể được gọi từ class con.
MountainBike kế thừa tất cả các trường và phương thức của Bicycle, đồng thời thêm trường
seatHeight và một phương thức để đặt trường. Ngoại trừ hàm tạo, nó giống như bạn đã viết hoàn
toàn từ đầu một lớp MountainBike mới, với bốn trường và năm phương thức. Tuy nhiên, bạn không
phải làm tất cả công việc. Điều này sẽ đặc biệt có giá trị nếu các phương thức trong lớp Bicycle
phức tạp và mất nhiều thời gian để gỡ lỗi.
Một class con không kế thừa các thành phần private của class cha. Tuy nhiên, nếu class cha có
các phương thức pulic hoặc protected để truy cập các trường private của nó, thì class con cũng có
thể sử dụng các phương thức này.
Một class lồng nhau có quyền truy cập vào tất cả các thành phần private của class kèm theo của
nó — cả trường và phương thức. Do đó, một class lồng là public hoặc protected được kế thừa bởi
một class con có quyền truy cập gián tiếp vào tất cả các thành phần private của class cha.
Khi ghi đè một phương thức, bạn có thể muốn sử dụng chú thích @Override hướng dẫn trình
biên dịch rằng bạn định ghi đè một phương thức trong lớp cha. Nếu vì một lý do nào đó, trình biên
dịch phát hiện ra rằng phương thức này không tồn tại ở một trong các lớp cha, thì nó sẽ phát sinh
lỗi.
Static Methods
Sự khác biệt giữa ẩn static method và ghi đè instance method có ý nghĩa quan trọng:
- Phiên bản của instance method bị ghi đè được gọi là phiên bản trong lớp con.
- Phiên bản của static method bị ẩn được gọi tùy thuộc vào việc nó được gọi từ lớp cha hay lớp con.
Như đã ví dụ, phiên bản của static method bị ẩn được gọi là phiên bản trong lớp cha và phiên
bản của instance method bị ghi đè được gọi là phiên bản trong lớp con
Tên đứng trước super (trong ví dụ này là FlyCar hoặc OperateCar trong 1.3.3) phải đề cập đến
một superinterface trực tiếp xác định hoặc kế thừa một giá trị mặc định cho phương thức được gọi.
Hình thức gọi phương thức này không bị hạn chế trong việc phân biệt giữa nhiều interface được
implement có chứa các default method có cùng dạng định danh. Bạn có thể sử dụng từ khóa super
để gọi một default method trong cả class và interface.
Các nạp chồng phương thức được phân biệt bởi số lượng và loại đối số được truyền vào
phương thức. Trong mẫu mã, draw(String s) và draw(int i) là các phương thức riêng biệt và duy
nhất vì chúng yêu cầu các loại đối số khác nhau.
Bạn không thể khai báo nhiều hơn một phương thức có cùng tên, cùng số lượng và kiểu đối số,
bởi vì trình biên dịch không thể phân biệt chúng.
Trình biên dịch không xem xét kiểu trả về khi phân biệt các phương thức, vì vậy bạn không thể
khai báo hai phương thức có cùng chữ ký ngay cả khi chúng có kiểu trả về khác nhau.
Lưu ý : Các nạp chồng phương thức nên được sử dụng một cách tiết kiệm, vì chúng có thể làm
cho mã khó đọc hơn nhiều.