11/08/2018, 19:44
Exception handling với overriding phương thức trong java
Sự khác nhau giữa final, finally và finalize Có một vài quy tắc về xử lý ngoại lệ (exception handling) với overriding phương thức trong java như sau: Nếu phương thức của lớp cha không khai báo ném ra exception Nếu phương thức của lớp cha không khai báo ném ra ...
Sự khác nhau giữa final, finally và finalize
Có một vài quy tắc về xử lý ngoại lệ (exception handling) với overriding phương thức trong java như sau:
- Nếu phương thức của lớp cha không khai báo ném ra exception
- Nếu phương thức của lớp cha không khai báo ném ra exception, phương thức được ghi đè của lớp cha không thể khai báo ném ra ngoại lệ checked, nhưng ngoại lệ unchecked thì có thể.
- Nếu phương thức của lớp cha khai báo ném ra exception
- Nếu phương thức của lớp cha khai báo ném ra exception, phương thức được ghi đè của lớp cha có thể khai báo ném ra ngoại lệ tương tự, ngoại lệ con, nhưng không thể khai báo ném ra ngoại lệ cha.
Nếu phương thức của lớp cha không khai báo ném ra exception
1) Quy tắc: Nếu phương thức của lớp cha không khai báo ném ra exception, phương thức được ghi đè của lớp cha không thể khai báo ném ra ngoại lệ checked.
Output:
Compile Time Error
2) Quy tắc: Nếu phương thức của lớp cha không khai báo ném ra exception, phương thức được ghi đè của lớp cha không thể khai báo ném ra ngoại lệ checked, nhưng ngoại lệ unchecked thì có thể.
Output:
child
Nếu phương thức của lớp cha khai báo ném ra exception
Quy tắc: Nếu phương thức của lớp cha khai báo ném ra exception, phương thức được ghi đè của lớp cha có thể khai báo ném ra ngoại lệ tương tự, ngoại lệ con, nhưng không thể khai báo ném ra ngoại lệ cha.
Ví dụ về TH phương thức ghi đè của lớp cha khai báo ném ra ngoại lệ cha.
Output:
Compile Time Error
Ví dụ về TH phương thức ghi đè của lớp cha khai báo ném ra ngoại lệ tương tự.
Output:
child
Ví dụ về TH phương thức ghi đè của lớp cha khai báo ném ra ngoại lệ con.
Output:
child
Ví dụ về TH phương thức ghi đè của lớp cha không khai báo ném ra ngoại lệ nào.
Output:
child
Sự khác nhau giữa final, finally và finalize