1. Quá trình định nghĩa hai hoặc nhiều phương thức trong một lớp có cùng tên nhưng có các tham số khác nhau được gọi là gì?

Quá trình định nghĩa hai hoặc nhiều phương thức trong một lớp có cùng tên nhưng có các tham số khác nhau được gọi là overloading (nạp chồng phương thức). Trong nạp chồng phương thức, các phương thức có cùng tên nhưng khác nhau về số lượng hoặc kiểu dữ liệu của tham số.

  1. Tất cả các biến thành viên của lớp nên được khai báo cùng với quyền truy cập (Access Modifier) nào?

Tất cả các biến thành viên của lớp nên được khai báo với quyền truy cập private. Điều này giúp bảo vệ các biến thành viên khỏi việc truy cập trực tiếp từ bên ngoài lớp và đảm bảo tính đóng gói (encapsulation), cho phép chỉ các phương thức trong lớp có thể truy cập và thay đổi giá trị của các biến thành viên đó.

Khi cần, các phương thức getter và setter có thể được sử dụng để truy cập và điều chỉnh giá trị của các biến này một cách an toàn.

  1. Trong Java, "method overriding" thường liên quan đến nguyên lý nào trong các nguyên lý chính của lập trình hướng đối tượng?

Trong Java, "method overriding" (ghi đè phương thức) thường liên quan đến nguyên lý polymorphism (đa hình) trong lập trình hướng đối tượng.

Polymorphism cho phép một đối tượng có thể có nhiều hình thức khác nhau. Khi một phương thức trong lớp con ghi đè (override) phương thức của lớp cha, phương thức này có thể có hành vi khác biệt tùy thuộc vào đối tượng thực tế mà phương thức được gọi từ. Điều này cho phép các lớp con cung cấp các triển khai khác nhau cho các phương thức của lớp cha, tạo ra tính linh hoạt và mở rộng cho các ứng dụng.

4.Từ khóa nào dưới đây có thể được sử dụng trong subclass để gọi hàm dựng (constructor) của superclass?

Từ khóa super được sử dụng trong subclass để gọi hàm dựng (constructor) của superclass.

Cụ thể, bạn có thể gọi hàm dựng của lớp cha bằng cách sử dụng super() trong hàm dựng của lớp con. Nếu không có tham số, super() sẽ gọi hàm dựng mặc định của lớp cha (nếu có). Nếu lớp cha có hàm dựng với tham số, bạn cần truyền các tham số phù hợp vào super().

  1. Từ khóa nào được sử dụng để không cho phép một phương thức được overriding?

Từ khóa final được sử dụng để không cho phép một phương thức được overriding trong Java. Khi một phương thức được khai báo với từ khóa final, lớp con sẽ không thể ghi đè phương thức đó.

  1. Từ khóa nào  được sử dụng để không cho phép thay đổi nội dung của biến?

Từ khóa final được sử dụng để không cho phép thay đổi nội dung của biến trong Java. Khi một biến được khai báo với từ khóa final, giá trị của biến đó sẽ không thể thay đổi sau khi nó đã được gán một giá trị ban đầu.