关于静态方法的OVERRIDE。 是在25行,造型错误,没有显式的转化因为Test-->Q2是下溯造型要主动的转化而Q2->Test是一个上溯造型没关系(22行) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 No..Nostatic方法是没有重置一说.所以没错呀你可以想象一下Test t = new Q2();t.show();会是 Show method in Q2 class.这么写只是为了迷惑你,静态方法是跟着类的.就看你编译时方法前的载体是什么类.而实例方法方法编译时只能确定方法名和参数.具体的载体无法确定. static方法是没有重置一说.所以没错呀但我记得很多教材中都有STATIC方法不可以OVERRIDE啊。您的意思是说可以在子类中写一个与SUPER中的静态方法同方法名,同返回值,同参数的的静态方法了吗? to楼上:“static方法是没有重置一说.所以没错呀”但我记得很多教材中都有STATIC方法不可以OVERRIDE啊。您的意思是说可以在子类中写一个与SUPER中的静态方法同方法名,同返回值,同参数的的静态方法了吗? static方法是可以被override的,只有final不可以被override编译错误在25行,q = t; 是下溯 补充:你是准备去考什么scjp吗?不能说考了没用,但没什么大用. to up:你粘下来,编译一下。根本不能编译。 A static method may not be overriden to be non-static 上面程序编译时提示 q=t 错误! 将q=t删除结果如下:"Show method in Test class" "Show method in Q2 class" "Show method in Test class" "Show method in Q2 class" CHOOSE D,错误原因:类型不兼容 我编译/运行了代码:11行是对的在这里有一个不太清楚的地方:不管show()是不是static,编译器都把这"称为"override,但要注意:如果show()不是static,则这是真正的多态/override,如果show()是static,则这不是真正的多态/override,是hide 静态方法Override规则:静态方法可以override为静态方法,但不能override为非静态方法非静态方法可以override为非静态方法,但不能override为静态方法。静态方法的绑定是在Compile time确定的,非静态方法的绑定是在Run time时确定的我想这些理论会对你有所帮助Oicq:1818477欢迎交流 “静态方法的绑定是在Compile time确定的,非静态方法的绑定是在Run time时确定的”准确!谢谢!哈哈哈哈哈 代码总是报错 关于边框 关于如何学习thinking in Java的问题 如何将之前的JDK删除 取特定字符串怎么写? 请教高手帮忙,文本换行与JSP页面换行的转变。解决必给高分!! 真受不了 replaceFirst 请教SDK的配置! WIN API 是否还值得学习 新手求助,代码一些看不懂 请问怎么在resin中配置jaxp 关于两次DECLARE的题
static方法是没有重置一说.所以没错呀
你可以想象一下
Test t = new Q2();
t.show();
会是 Show method in Q2 class.
这么写只是为了迷惑你,静态方法是跟着类的.就看你编译时方法前的载体是什么类.
而实例方法方法编译时只能确定方法名和参数.具体的载体无法确定.
但我记得很多教材中都有STATIC方法不可以OVERRIDE啊。您的意思是说可以在子类中
写一个与SUPER中的静态方法同方法名,同返回值,同参数的的静态方法了吗?
但我记得很多教材中都有STATIC方法不可以OVERRIDE啊。您的意思是说可以在子类中
写一个与SUPER中的静态方法同方法名,同返回值,同参数的的静态方法了吗?
编译错误在25行,q = t; 是下溯
你是准备去考什么scjp吗?
不能说考了没用,但没什么大用.
你粘下来,编译一下。
根本不能编译。
将q=t删除结果如下:
"Show method in Test class"
"Show method in Q2 class"
"Show method in Test class"
"Show method in Q2 class"
不管show()是不是static,编译器都把这"称为"override,但要注意:
如果show()不是static,则这是真正的多态/override,
如果show()是static,则这不是真正的多态/override,是hide
静态方法可以override为静态方法,但不能override为非静态方法
非静态方法可以override为非静态方法,但不能override为静态方法。
静态方法的绑定是在Compile time确定的,非静态方法的绑定是在Run time时确定的我想这些理论会对你有所帮助
Oicq:1818477欢迎交流