我想为我的应用程序制作一个特殊的附加组件。我需要在不编辑类文件的情况下重写某个类的某些方法。Java - 重写一个外部方法
这里是一个方案:
class A
{
public void method1()
{
// Do something here
}
public int method2()
{
// Do something
}
}
现在从我的B类,我想覆盖从A级的方法1 FUNC,并迫使A类用我的新方法。
class B
{
public void method1()
{
Do something
}
}
我想在不编辑A类的情况下更新我的A类代码。那可能吗?
谢谢。
不知道我理解。你说你现在想'A a = new A(); a.method1()'调用'B.method1'? – 2012-04-06 11:50:48
你不能改变已经在'A'类中定义的行为,你可以做的最好的事情是从'A'类扩展并改变'B'类的行为。然后调用类'B'对象上的所有方法。 – 2012-04-06 11:51:49
在Java中,您不能“替换”原始类,类似于Objective C中的可能 - 您需要重写并确保其他人正在使用新类。 – Vlad 2012-04-06 11:53:42