方法一:问题是

说明受让人资源新问题
    -无用的覆盖方法:覆盖方法仅调用super
    -覆盖
     executeImpl

class A {

protected void executeImpl(){
 // blah blah
}}

class B extends A{

protected void executeImpl(){

super.executeImpl();
}}

class C{

@Inject B b;

protected void executeCall(){

b.executeImpl();
}
}


如果我删除覆盖的方法:
Java错误:
类型B的方法executeImpl()不是
 可见

class A {

protected void executeImpl(){
 // blah blah
}}



class B extends A{

}



class C{

@Inject B b;

protected void executeCall(){

b.executeImpl();
}
}


我应该采取什么措施来消除声纳小问题。

最佳答案

我会说您必须重新考虑您的包装结构。我认为ABC在另一个包中。因此,C无法访问A中的受保护方法,但如果在B中覆盖它,则C可以访问它。


您可以在executeImpl()中将A公开。
ABC全部移至同一程序包,或
只需忽略此问题或将其标记为false
积极的解释。

08-28 18:30