父类中有个static方法,用子类类名调用这个static方法,怎么判断是哪个子类调的这个方法?
解决方案 »
- JFrame的一个小问题!
- 高分求解决AES加密算法的问题
- 如何在一堆的图表之间画条竖线吧他们分开!着急!
- 寻找j2se5.0的chm帮助文档和chm格式的JavaTutorial的下载网址
- -------如何将一个TextArea设置为只读-----
- 请问用Swing,有第三方提供给XML显示/编辑好的组件么?
- 一个小问题。。。在线
- ##### jdbc-odbc连接错误,请问cmd模式下的jdbc-odbc环境怎么配置,急急急急急! ####
- 用到swing中类的applet都要转换吗?
- 如何提高java读取大文本文件的效率?
- 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搞进来,这只会增加迷惑性。