当前位置: 首页 > 面试题库 >

抽象类中的getClass()给出了模棱两可的方法调用

齐文林
2023-03-14
问题内容

我有一个公共抽象类,并且我正在尝试使用该getClass()方法,因为我需要扩展我的抽象类的类中的信息。一个例子是这样的:

public String getName() {
    return getClass().getSimpleName();
}

但是,IntelliJ报告此:

Ambiguous method call. Both
getClass    ()    in Object and
getClass    ()    in Object match.

代码可以正常运行,但是以我的方式来说,在我的IDE中包含数十个错误警告是有点。误报会打乱我的工作流程。

为什么显示这些错误,我该怎么做才能看不到它们?


问题答案:

代码很好,但是在IntelliJ中是错误。

错误报告,
另一份。

甚至还有更多错误报告,说明了此问题的不同变化。正如duffymo在注释中指出的,这也可能是因为类路径中存在JDK的不同版本。



 类似资料:
  • 无法找出正确的方法来使用匹配器来识别我要处理的exchange方法的重载。我正在打的电话:

  • 但是,当我尝试相同的示例时,通过将Integer更改为Object,代码编译得很好,输出为String 谁能帮助我理解为什么当输出来自其中有字符串的方法时,签名中有对象的方法是必需的。以及类型错误不明确的原因是什么。

  • 我正在尝试对扩展抽象基的类进行单元测试。以下是“类似的类”,以供说明: 下面是我正在尝试的单元测试: 当我做这个测试的时候 java.lang.NullPointerException 在中 我知道自动连线的“滤水器”没有初始化。但接下来,我只想在我的单元测试中模拟抽象的“非抽象”方法。 我该如何使用EasyMock来实现这一点呢?另外,我不知道和应该做什么。

  • 这似乎是一个基本问题。但在采访前需要澄清。 我在抽象类中有一个非抽象方法。它的具体类重写了该方法。但我想调用父类的原始方法来调用,而不是重写方法。有什么办法吗? 据我所知,没有办法调用原始方法?

  • 本文向大家介绍php中的抽象方法和抽象类,包括了php中的抽象方法和抽象类的使用技巧和注意事项,需要的朋友参考一下 1、什么是抽象方法? 我们在类里面定义的没有方法提的方法就是抽象方法。所谓的没有方法体指的是,在声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时方法还要加一个关键字"abstract"来修饰。 例如: 2、什么是抽象类? 只要一个类里面

  • 我应该如何编写以下Mockito匹配器,以便调用不会有歧义? 我试图在代码中模拟的实际函数调用是: