public class F { String m() { return "F.m()" + this.s(); } String m(F f) { return "F.m(F)" + s(); } private String m(G g) { return "F.m(G)"; } String k() { return "F.k()" + this.m(this); } String k(G g) { return "F.k(G)"; } static String s() { return "F.s()"; } static String t() { return "F.t()"; } } public class G extends F{ String m() { return "G.m()" + super.s(); } String m(F f) { return "G.m(F)"; } String m(G g) { return "G.m(G)"; } String k(F f) { return "G.k(F)" + this.m((G)f); } static String s() { return "G.s()"; } } public class H extends G { String k(F f) { return "H.k(F)"; } String k(G g) { return "H.k(G)" + super.m((F)g); } }
F a = new F(); G b = new G();
F c = b; //是否意味着c 即是F类的也是G类的? (跟上一行的b什么关系啊?) H h = new H();
为什么 b.k(a) 报错?
为什么 c.m(b) c.m(a) c.m(c) 的结果是 G.m(F)?
为什么((G)h).k(b) 的结果是 H.K(G)G.m(F)?
这些到底是怎么个步骤啊?很不懂-。-
拜托讲讲好吗? 感谢!
相关分类