.:: CODE SNIPPET ::.

"Your time is limited, so don't waste it living someone else's life"

Tag Archives: different

Hàm overload và hàm override: cách sử dụng và sự khác biệt


Sự khác biệt giữa override và overload trong Java thì phần lớn là ở các đoạn code rắc rối, nhưng nó lại khá là dễ hiểu. Bắt đầu bàn về hàm overload. Overload trong Java xuất hiện khi hai hoặc nhiều phương thức trong cung một lớp chia sẽ một cái tên chung hoặc ngay cả nếu một lớp con có chung tên với một hàm trong lớp cha của nó. Nhưng, thực tế để có hàm overload, hàm không chỉ có chung tên, nhưng còn có những điều kiện khác phải thõa mãn:

Giả thiết chúng ta có một lớp tên TestClass với 2 phương thức và cả hai phương thức đều có tên giống nhau là someMethod , ví dụ này được xem là hàm overload nếu ít nhất một trong hai điều sau đúng:

  1. Số lượng tham số trong các phương thức  khác nhau.
  2. Các loại dữ liệu của tham số khác nhau.

Như thế nào không phải là hàm overload

Phải hiểu rằng hàm overload thì không phải là thứ mà bạn thành lập bằng cách làm 2 việc sau

  1. Thay đổi kiểu dữ liệu trả về của hàm.
  2. Thay đổi tên của các tham số, nhưng không thay đổi kiểu dữ liệu của tham số.

Ví dụ: Read more of this post

Sự khác biệt giữa hàm equals() và operator ==


Trước khi bàn về sự khác biệt giữa “==” và phương thức equals(), một điều quan trọng phải hiểu là một đối tượng (object) vừa có một địa chỉ  trong bộ nhớ và một tình trạng cụ thể phụ thuộc vào các giá trị trong đối tượng.

operator “==”

Trong Java, khi operator “==” được dùng để so sánh hai đối tượng, thì nó kiểm tra xem các đối tượng có tham chiếu đến cùng một nới trên bộ nhớ hay không. Mặt khác, nó kiểm tra xem hai tên đối tượng về cơ bản có tham chiếu đến cùng một địa chỉ nhớ hay không.  Ví dụ sau sẽ làm sáng tỏ điều này:

Read more of this post

Sự khác biệt giữa một interface và một abstract class


Cách tốt nhất để trả lời cho câu hỏi này là chúng ta sẽ đi từ định nghĩa ngắn gọn của interface và abstract class, sau đó khám phá sự khác biệt giữa chúng.

Một lớp được khai báo là abstract khi nó có một hoặc nhiều abstract method. Ngược lại, một lớp có một hoặc nhiều abstract method thì phải được khai báo là abstract. Một method được khai báo là là abstract khi nó có một khai báo (method heading) nhưng không có cài đặt bên trong. Để giải thích tại sao bạn muốn khai báo một method là abstract, hãy xem ví dụ sau: Read more of this post

%d bloggers like this: