2011-06-09 43 views
0

我有一个控制器和超它的子类:是否有可能禁止注释继承?

public class SuperController { 
    @Resource 
    private A resourceA; 
} 

public class SubController extends SuperController { 
    @Resource 
    private B resourceB; 
} 

我不Subcontroller使用resourceA领域,但Subcontroller作为SuperController并且具有相同的方法。所以,我怎么能forbit @Resource注释的继承,就像这样:

public class SuperController { 
    **private** @Resource 
    private A resourceA; 
} 

回答

1

听起来像是你需要一个共同的抽象类如果子类不使用一些父类的字段。

public abstract class AbstractController { 
    // common fields. 
    // common methods. 
} 

public class SuperController extends AbstractController { 
    @Resource 
    private A resourceA; 
} 

public class SubController extends AbstractController { 
    @Resource 
    private B resourceB; 
}