Tôi muốn biết lý do tại sao điều này là lần đầu tiên cho phép trong Java (hoặc oops nói chung) Tôi nhớ rằng các phương pháp tĩnh là chung cho cả hai cha mẹ và con lớpĐịnh nghĩa lại phương pháp tĩnh trong lớp con
public class Redefine extends Parent{
public static void test() {
}
}
class Parent{
public static void test() {
}
}
Q1: Vì ghi đè không được hỗ trợ cho các phương pháp tĩnh, làm thế nào cả hai classe có cùng phương pháp?
Q2: Nếu thay đổi phương thức tĩnh để ném ngoại lệ không được xác định thì không biên dịch. tại sao lại như vậy. Rõ ràng nó không quan trọng vì vậy tôi nên được phép ném ngoại lệ mới phải không?
public class Redefine extends Parent{
public static void test() throws Exception{
}
}
lại: Q2: Nếu bạn thử phiên bản OP của Redefine.test() được khai báo là 'ném ngoại lệ 'thì bạn sẽ gặp lỗi trình biên dịch Ngoại lệ ngoại lệ không tương thích với mệnh đề ném trong Parent.test()' . – mikej