我有一个基类
public class BaseStatic {
public static String fname = "Base";
public static String lname = "Static";
public static void send(){
System.out.println("BaseStatic send");
sendTo();
}
public static void sendTo(){
//How to call from here Child's static method.
System.out.println("BaseStatic sendTo");
}
}
我有一个扩展它的子类。
public class FirstStatic extends BaseStatic {
public static String fname = "First";
public static String lname = "Static";
public static void sendTo(){
System.out.println("FirstStatic sendTo");
}
}
现在有一个主类
public class Main {
public static void main(String args[]){
FirstStatic.send();
}
}
Java 是否为我提供了一种方法,以便当我从 Main 方法 FirstStatic.send 调用时,它转到 BaseStatic 的发送方法,从那里我可以调用 FirstStatic 的 sendTo 方法而不是调用 BaseStatic 的 sendTo 方法
最佳答案
静态方法没有多态性。因此,为了调用A
类的静态方法x
,您必须编写A.x()
。
FirstStatic.send()
将调用 BaseStatic
的 send
只是因为 FirstStatic
没有静态 >发送
方法。但是,BaseStatic
的 send
将始终调用 BaseStatic
的 sendTo
,除非您显式调用 FirstStatic .sendTo()
.
关于java - 如何从父类的静态方法中调用子类的静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27973770/