父类中有个static方法,用子类类名调用这个static方法,怎么判断是哪个子类调的这个方法?
解决方案 »
- JavaSE怎么实现浏览按钮,
- jtable已經有JTextField和JComboBox等的celleditor 如果想再用鼠標監聽這個table 該怎么做?
- 关于页面显示目录结构的问题,急啊~~~~~~~~~
- 关于聊天过程中文本字符的实现问题(仿QQ)
- 说一下日本顺利加入常任理事国的后果,给中国人提个醒
- 初学者问题:1.FileChooser怎样设置才能打开邻近计算机的文件?2.怎样向一个TXT文件某个特定字符后加入内容?
- jini高手请进.
- 关于static关键字的一些模糊
- 各位大牛,菜鸟来报道,请问一个问题?
- 请问怎么把从键盘接收的多个数据一起打印出来?
- java rmi ssl安全问题
- 急! 下载文件的Servlet如何重定向
子类调用父类的static方法,static方法里边不能用this关键字
public class Test {
static void hello() {
System.out.println("hello"); StackTraceElement stack[] = (new Throwable()).getStackTrace();
int ix = 0;
while (ix < stack.length) {
StackTraceElement frame = stack[ix];
System.out.println(frame);
ix++;
}
} public static void main(String args[]) {
A.hello();
}}class A extends Test {}class B extends Test {}
hello
Test.hello(Test.java:6)
Test.main(Test.java:18)
这么写每次都传了个多余的参数啊,好像只能这么实现了,传子类的Class对象就行了。
public static void hello(Class<? extends StaticClassTest> c){
System.out.println(c.getName());
}
}class SubA extends StaticClassTest{
public static void main(String[] args){
StaticClassTest.hello(SubA.class);
}
}
改成
SubA.hello(SubA.class);
boolean isAssignableFrom(Class<?> cls)
判定此 Class 对象所表示的类或接口与指定的 Class 参数所表示的类或接口是否相同,或是否是其超类或超接口。
这个用法不太符合OO惯例。static的东西和继承没有多大关系,要使用继承特性时,不要把static搞进来,这只会增加迷惑性。