黑马程序员技术交流社区

标题: 小问题3 [打印本页]

作者: 繁华落幕    时间: 2015-6-21 21:49
标题: 小问题3
本帖最后由 繁华落幕 于 2015-6-24 22:24 编辑

给出以下代码,请问该程序的运行结果是什么?如有问题,请说明原因。
class SuperEx {
String s = "父类成员变量";
public void method(){
System.out.println("SupMethod");
}
}
class SubEx extends SuperEx {
String s = "子类成员变量";
public void method(){
System.out.println("SubMethod");
}
}
class Demo {
public static void main (String[] args) {
SubEx sub = new SubEx();
SuperEx sup = new SubEx();

System.out.println(sub.s);
function( sub );
System.out.println(sup.s);
function( sup );
}
public static void function (SuperEx sup) {
sup.method();
}
}


作者: zlpiano    时间: 2015-6-21 21:55
子类成员变量
SubMethod
父类成员变量
SubMethod



作者: 梁思宇    时间: 2015-6-21 22:44
SubEx sub = new SubEx();//实例化子类对象
SuperEx sup = new SubEx();//实例化父类为子类对象,多态
System.out.println(sub.s);//打印子类成员变量
function(sub);//多态调用  ,method为非静态方法,  使用子类方法  ,输出submethod
System.out.println(sup.s);//打印父类成员变量
function(sup); / /sup被实例化为了子类对象,依然是多态调用,所以还是submethod
作者: ARD    时间: 2015-6-22 00:40
考的东西蛮多啊  多态 继承  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2