我有两个库(ClassA和ClassB)类和一个转轮类。现在我更新了一个库类(ClassAUpdate),这会导致我当前的运行者类出现问题。
我认为其中一个问题是因为redispatching这会产生无限递归。但是我应该找到另外两个问题。也许重新定义?
如何在没有这些问题的情况下对运行者类进行更改?也许在跑步者类中有一个以ClassB为组件的新类?
ClassA的:
abstract class LibClassA
{
public int m1( int param )
{
return m5( param / 2 );
}
public int m2( int param )
{
return param + 45;
}
abstract public int m3( int param );
public int m5( int param )
{
return param * 6;
}
}
ClassB的:
class LibClassB extends LibClassA
{
public int m1( int param )
{
int result = 773 - super.m1( param + 5 );
if( param < 4 )
{
result += m2( param );
}
return result;
}
public int m3( int param )
{
return m1( param * 2 ) + 23;
}
}
ClassAUpdate:
abstract class LibClassA
{
public int m1( int param )
{
if( param >= 10 )
{
return m2( m5 (param, 5) );
}
else
{
return m4( param );
}
}
public int m2( int param )
{
return param + 45;
}
abstract public int m3( int param );
public int m4( int param )
{
return m5( param / 2, 6 );
}
public int m5( int param, int param2 )
{
return param * param2;
}
}
亚军类:
class OwnClass extends LibClassB
{
public int m2( int param )
{
return 5 * m3( param );
}
public int m4( int param )
{
return param * param;
}
public int m5( int param )
{
return 165;
}
public static void main( String args[] )
{
OwnClass obj = new OwnClass();
System.out.println( obj.m3( 2 ) );
System.out.println( obj.m4( 9 ) );
System.out.println( obj.m3( 3 ) );
}
}