相关疑难解决方法(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万
查看次数

在多级继承中从子类调用'grand'父函数

public class GrandParent
{
    public void walk()
    {
        ...
    }
}

public class Parent
{
    public void walk()
    {
        ...
    }
}

public class Child
{
    public void walk()
    {
        // Here in some cases I want to use walk method of GrandParent class
    }
}
Run Code Online (Sandbox Code Playgroud)

现在在Child.walk()中,我只想在某些情况下使用GrandParent.walk().我怎样才能做到这一点?因为super.walk()将始终使用Parent.walk().

注意:(请注意,这是复杂场景的简化示例)

注2:请仅告知是否有标准程序.我在父类中使用了一个标志,如果孩子想要使用GrandParent的方法,则会设置该标志.但是这个序列变得非常复杂.

java inheritance superclass

7
推荐指数
2
解决办法
5519
查看次数

标签 统计

java ×2

superclass ×2

inheritance ×1