保证抽象java方法调用特定的私有方法
Guarantee that an abstract java method calls a specific private method
在此先感谢您的帮助。
我正在构建一个库,并希望执行以下操作。我有一个摘要 class,我的图书馆的用户必须扩展它才能使用许多图书馆功能。在这个抽象 class 中,我有一个抽象方法。在这个抽象方法中有一段代码必须在某个时候执行,何时执行都没有关系,只要每次调用这个特定的抽象方法时 运行s 即可。在这段代码中,对象数组是增量更新的(这对我的问题无关紧要,我只是想清楚需要执行的代码是做什么的)。
一个潜在的解决方案可能是使用重载(即显式定义方法而不是将其抽象化)。但是,这仅在我的库的用户调用 super 方法时才有效。此外,采用这种方法不会强制用户专门定义此方法,因为首先使此方法抽象化的全部意义所在。
有没有什么方法可以断言这段代码(我想 运行 使用私有方法调用代码重用)运行 在此方法中,或者我必须想出另一个解决方案(即不是 运行 在抽象方法中调用此代码,而是在包含此代码的完全定义的函数中调用抽象方法)?
您可以尝试这样的操作:
public abstract class Super{
public final void doThing(){
setup();
// Do everything else
}
public abastract void setup();
}
public class Child extends Super{
// Child class must implement setup()
}
在此先感谢您的帮助。
我正在构建一个库,并希望执行以下操作。我有一个摘要 class,我的图书馆的用户必须扩展它才能使用许多图书馆功能。在这个抽象 class 中,我有一个抽象方法。在这个抽象方法中有一段代码必须在某个时候执行,何时执行都没有关系,只要每次调用这个特定的抽象方法时 运行s 即可。在这段代码中,对象数组是增量更新的(这对我的问题无关紧要,我只是想清楚需要执行的代码是做什么的)。
一个潜在的解决方案可能是使用重载(即显式定义方法而不是将其抽象化)。但是,这仅在我的库的用户调用 super 方法时才有效。此外,采用这种方法不会强制用户专门定义此方法,因为首先使此方法抽象化的全部意义所在。
有没有什么方法可以断言这段代码(我想 运行 使用私有方法调用代码重用)运行 在此方法中,或者我必须想出另一个解决方案(即不是 运行 在抽象方法中调用此代码,而是在包含此代码的完全定义的函数中调用抽象方法)?
您可以尝试这样的操作:
public abstract class Super{
public final void doThing(){
setup();
// Do everything else
}
public abastract void setup();
}
public class Child extends Super{
// Child class must implement setup()
}