我有一个第三方库类,我需要使用自己的实现进行扩展。我想要扩展的库类本身就是另一个库基类的子类。
我想要基类提供的功能,而不是子类的功能。有没有办法编写我的重写方法,这样我可以从我的子类直接调用(祖父)基类(LibraryBaseClass)?
class LibraryBaseClass
{
protected void method() // want to call this method
{
System.out.println( "LibraryBaseClass" );
// ... desired functionality here
}
}
class LibraryClass extends LibraryBaseClass
{
@Override
protected void method() // want to skip this method
{
System.out.println( "LibraryClass" );
// ... undesired functionality here
super.method();
}
}
class MySubClass extends LibraryClass
{
@Override
public void method()
{
System.out.println( "MySubClass" );
super.method(); // would like to call something like LibraryBaseClass.super.method() here
}
}
// using my method here
new MySubClass().method();
我可以将LibraryBaseClass.method()中的代码复制并粘贴到MySubClass.method()中,但我想尽可能避免这种情况。我无法直接编辑库代码。