相关疑难解决方法(0)

为什么是super.super.method(); Java不允许?

我读了这个问题并认为如果有人可以写的话很容易解决(不是没有它可以解决):

@Override
public String toString() {
    return super.super.toString();
}
Run Code Online (Sandbox Code Playgroud)

我不确定它在许多情况下是否有用,但我想知道为什么它不是,如果这样的东西存在于其他语言中.

你们有什么感想?

编辑: 澄清:是的,我知道,这在Java中是不可能的,我不会真的错过它.这不是我期望的工作,并且惊讶于编译错误.我刚才有了这个想法并想讨论它.

java superclass

347
推荐指数
7
解决办法
16万
查看次数

强制类覆盖.equals方法

我有一堆实现通用接口的类:Command.

这一堆课程转到了Map.

为了使Map正常工作,我需要每个实现Command的类来覆盖该Object.equals(Object other)方法.

没关系.

但我想强迫平等的压倒一切.=>当实现命令的东西不重写等于时出现编译错误.

这可能吗?

编辑:BTW,我还需要强制重写哈希码...

java overriding requirements interface equals

51
推荐指数
2
解决办法
2万
查看次数

Scala:使用抽象成员覆盖具体成员

我试图用一个抽象的成员覆盖一个特征成员,这似乎很简单,但实际上不会编译.

这是我正在尝试做的一个简单的例子:

// not my code:
trait Base {
  val x = new T {}
  trait T {}
}

// my code:
trait Sub extends Base {
  // compile error; see below
  override val x: T2

  // this compiles, but doesn't force `Impl` to implement `x`
//  override val x: T2 = null

  trait T2 extends T {
    val someAddition: Any
  }
}

object Impl extends Sub {
  // should be forced to implement `x` of type `T2`
}
Run Code Online (Sandbox Code Playgroud)

这是编译器错误: …

scala

4
推荐指数
1
解决办法
122
查看次数

标签 统计

java ×2

equals ×1

interface ×1

overriding ×1

requirements ×1

scala ×1

superclass ×1