gpt4 book ai didi

java - 在 SONAR 中进行方法覆盖时出现的小问题

转载 作者:行者123 更新时间:2023-11-30 08:47:53 26 4
gpt4 key购买 nike

方法一:问题是

描述受让人资源新问题 - 无用的重写方法:重写方法仅调用 super - 覆盖 A.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();
}
}

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

class A {

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



class B extends A{

}



class C{

@Inject B b;

protected void executeCall(){

b.executeImpl();
}
}

消除 Sonar 小问题的方法应该是什么。

最佳答案

我会说你必须重新考虑你的包结构。我认为 ABC 在另一个包中。所以 C 不能访问 A 中的 protected 方法,但是如果你在 B 中覆盖它,C 可以访问

  • 您可以在A 中公开executeImpl()
  • ABC 全部移动到同一个包中或
  • 忽略此问题或将其标记为错误肯定的解释。

关于java - 在 SONAR 中进行方法覆盖时出现的小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32209105/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com