Có thể ghi đè lên một phương pháp cho một thể hiện của một lớp không?ghi đè lên một phương thức cho một thể hiện của một lớp?
Điều kiện tiên quyết: Trò chơi có phương pháp ghi đè có thể act()
.
public class Foo {
public Method[] getMethods() {
Class s = Game.class;
return s.getMethods();
}
public void override()
{
Method[] arr = getMethods()
for (int i = 0; i<arr.length; i++)
{
if (arr[i].toGenericString().contains("act()")
{
// code to override method (it can just disable to method for all i care)
}
}
}
}
Có thể làm điều gì đó như thế này bằng cách sử dụng kỹ thuật bytecode và proxy, trừ khi bạn thực sự cần loại ma thuật đen này, chỉ cần sử dụng bố cục và ủy quyền. –
Tại sao nó không đủ để sử dụng một phương thức lớp bên trong vô danh địa phương? Phân lớp lớp thực tế. – zeller
sẽ dễ dàng hơn khi tạo động một lớp con từ một cá thể đã cho, ghi đè phương thức hành động trong lớp đó và hủy bỏ cá thể trước đó không? –