菜菜菜鸟问题 请列位看官说明一下,这两种声明到底啥区别Manager a= new Man()Man a=new Man() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Manager是Man的父类吧?第一个是父类引用指向子类实例化对象第二个是子类引用指向子类实例化对象这个是实现多态要素之一,多态后就可以写出一段所有子类都通用的代码,当添加新的子类时,这段代码是不需要修改的。以下是个人见解:比如父类Manager;子类Man、Woman你可以写这样一个函数:void method(Manager m);然后Manager a=new Man();method(a);Manager b=new Woman();method(b);这样调用method就可以了。但是如果用Man a=new Man();岂不是要重载一个method?如果有好多子类,难道要对每个子类重载一个method? Manager a= new Man()>>> 可以强转成Man的实例,如果不转,仅可以调用Manager的方法和属性Man a=new Man() >>> 可以调用Manager和Man的所有方法和属性 对,Manager是Man的父类,a 的类型是Manager,所以只能调用父类的属性,方法,而Man a=new Man();a的类型是Man,Man继承Manager,可以调用自身所有方法和属性,以及其父类的非私有属性和方法 既然是子类了,那么父类的method方法不是就都继承了么,为什么还要重载 我没说method是Manager的方法啊。。只是这个method的一个参数类型是Manager的 Manager a= new Man()相当于:Man man = new Man();Manager a = (Manager)man;// 转换一下 Man 和Manager 都是类名,你这两个实质上都是在创建对象。只是类名不同罢了 这个叫做多态,Manager a= new Man()a的编译时类型是Manager,运行时类型是ManManager如果是借口,那么实现这个接口的类,可能不止是Man一个,可能是woman,那么在实现接口的同一个方法的时候结果就可能不一样。Man a=new Man()就是最普通的一个类new出一个对象了。这样讲还是不懂的话,自己看书去吧……………… swing界面socket程序求修改! 不知道这个算法是否不可能实现啊?这种需求是否根本无法实现????? 好难的数组题目 java中<E><T><?><A><U>这都是什么意思? StringBuffer 请问哪个类可以将日期相加,然后输出再输出准确的日期? 请哪位高手指点一下关于ECLIPSE启动出错的问题 ~~~关于标准输入InputStreamReader,BufferedReader~~~ 如何判断一个文本框(jTextField)为空? 迷惑! 在页面跳转时出现这样的代码 用的是pl/sql jdbc-oracle 无限制的通配符List<?>
第一个是父类引用指向子类实例化对象
第二个是子类引用指向子类实例化对象这个是实现多态要素之一,多态后就可以写出一段所有子类都通用的代码,当添加新的子类时,这段代码是不需要修改的。
以下是个人见解:
比如父类Manager;子类Man、Woman
你可以写这样一个函数:
void method(Manager m);
然后
Manager a=new Man();
method(a);
Manager b=new Woman();
method(b);
这样调用method就可以了。但是如果用Man a=new Man();
岂不是要重载一个method?
如果有好多子类,难道要对每个子类重载一个method?
>>> 可以强转成Man的实例,如果不转,仅可以调用Manager的方法和属性Man a=new Man()
>>> 可以调用Manager和Man的所有方法和属性
a的类型是Man,Man继承Manager,可以调用自身所有方法和属性,以及其父类的非私有属性和方法
既然是子类了,那么父类的method方法不是就都继承了么,为什么还要重载
Manager a= new Man()
相当于:
Man man = new Man();
Manager a = (Manager)man;// 转换一下
Manager a= new Man()
a的编译时类型是Manager,运行时类型是Man
Manager如果是借口,那么实现这个接口的类,可能不止是Man一个,可能是woman,那么在实现接口的同一个方法的时候结果就可能不一样。
Man a=new Man()就是最普通的一个类new出一个对象了。
这样讲还是不懂的话,自己看书去吧………………