【发布时间】:2014-10-09 23:43:09
【问题描述】:
我是这样写的:
public abstract class A {
static String name = "A";
public static String getName() {
return this.name;
}
}
public class B extends A {
static String name = "B";
}
public class C extends A {
static String name = "C";
}
当我打电话给B b = new B(); System.out.println(b.getName());(当然更好System.out.println(B.getName());)时,我得到的是A,而不是B(对于C)。
我不明白为什么。有人可以帮我挥手吗?
感谢您的回答!
但是我该怎么做呢?
就我而言,我想做一个 URL 管理器。该变量包含一个 Pattern,该方法测试给定的 String,如果 Pattern 匹配。
每个扩展 A 的类都必须有 Pattern 并使用相同的 Method 来测试它是否匹配。它也应该是静态的,因为我只想实例化,如果 Pattern 匹配。
【问题讨论】:
标签: java