我读了这个问题并认为如果有人可以写的话很容易解决(不是没有它可以解决):
@Override
public String toString() {
return super.super.toString();
}
Run Code Online (Sandbox Code Playgroud)
我不确定它在许多情况下是否有用,但我想知道为什么它不是,如果这样的东西存在于其他语言中.
你们有什么感想?
编辑: 澄清:是的,我知道,这在Java中是不可能的,我不会真的错过它.这不是我期望的工作,并且惊讶于编译错误.我刚才有了这个想法并想讨论它.
我知道我们不能在Java中覆盖静态方法,但有人可以解释下面的代码吗?
class A {
public static void a() {
System.out.println("A.a()");
}
}
class B extends A {
public static void a() {
System.out.println("B.a()");
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能a()在课堂上覆盖方法B?
假设我有三个类:
class A
{
public void method()
{ /* Code specific to A */ }
}
class B extends A
{
@Override
public void method()
{
/*Code specific to B*/
super.method();
}
}
class C extends B
{
@Override
public void method()
{ /* I want to use the code specific to A without using B */ }
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,目标是使用 A 中的代码而不使用 B 中的代码。我认为有一种方法可以通过调用 super 方法来实现,但这也引入了 B 中的代码。
有没有办法做到这一点?
我有这样的层次结构:
public class A {
public abstract int hashCode();
}
public class B extends A {
public int hashCode(){
//I want this to return the object implementation of hash code
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
我希望b.hashCode()返回hashCode()的Object实现.不幸的是B必须扩展A,而A不能改变.
假设我在Java中有3个类,那么super one有一个名为func()的函数,我现在创建一个子类来覆盖它,并且我的子类的子类,现在在我的子子类上工作我将如何调用子类的'func()'和超类?
我尝试了'this'"指针",但是Java'在运行时'修复'它并调用subsub func().
编辑:谢谢大家; 'Skeen回到了绘图板'.