<?php
class A {
public static function who() {
echo __CLASS__;
}
public static function test() {
static::who(); // Here comes Late Static Bindings
}
}
class B extends A {
public static function who() {
echo __CLASS__;
}
}
B::test(); // Outputs "B"
?>
我想在Java中得到一个等价物......所以像
class A {
public static void who(){
System.out.println("A");
};
public static void test(){
who(); //<<< How to implement a static:: thing here???
}
}
class B extends A {
public static void who(){
System.out.println("B");
};
public static void main(String[] args){
B.test(); // Outputs "A" but I want "B"
}
}
我希望who()
内部A::test
调用通过调用B::who
.
编辑:我知道在最流行的语言中没有这样做的“标准方式”。我正在寻找黑客等。此外,这在 C/C++ 或任何其他流行的 OOP 语言中是否可行?
这不适用于任何真正的设计。我只是好奇。