A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马曦 中级黑马   /  2014-12-26 20:53  /  961 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一:多态
1.多态概念:
对象在不同时刻表现出来的不同状态
可以理解为事物存在的多种体现形态。

2.前提条件:
A:要有类的继承关系。 extends
B:要有方法的重写   
C:要有父类引用(或父接口)指向子类对象。 Fu f = new Zi();


多态:Fu fu=new Zi()
可以理解为:儿子 Zi 穿上 父亲的衣服去干活---------干活的还是儿子。


3. 针对引用类型:有两种状态
                            编译期间状态。
                            运行期间状态。
编译期间状态和运行期间状态不一样了  这就是多态。

4.多态间的成员特点:方法有重写,而变量没有
编译看左右,运行看左右是  看多态:     Fu fu = new Zi () ;
编译时看报不报错,不报错就开始运行。
A:成员变量:编译看左边,运行看左边。
B:成员方法:编译看左边,运行看右边。
                        左边是那个,就去那个里面找。

eg:
class Fu
{
             String name="张三";

             public void show()    //声明方法
             {
                          System.out.println(name+"去买饭");
             }
}

class Zi extends Fu
{
             String name="李四";

             public void show()
             {
                      System.out.println(name+"去买饭");
                      //super.show(); //调用父类的成员方法。
             }

             /*public String name()
             {
                         System.out.println("name"+super.name);
                         return name;
             }
             */
}



class DuotaiTest
{
public static void main(String[] args)
{
  /*
  Fu f=new Fu();
  f.show();

  Zi z = new Zi();
  z.show();
  System.out.println(z.name);
  */


  Fu f=new Zi();//编译看左边,运行看变量还是方法
  f.show();   //方法   运行看右边
  System.out.println(f.name);  //变量   运行看左边

}
}






二:引用类型转型
1.向上转型:从小到大     (子到父)
                     eg:Fu f = new Zi();
   向下转型:从大到小     (父到子)   需要强制转换
                     eg:Zi z = (Zi)f;   强转  将 f 强制转换为(Zi),用 Zi z接受
                                 

2.多态转型中隐含类型不匹配,会出现类型转换异常:classcastException
eg:猫能转化为动物,动物可以转换为猫。但是猫和狗不能互相转换。


3.多态的弊端:
                    父类的引用不能使用子类的特有功能。所以引出了类型转换。
                    
4.多态好处:提高代码的扩展性、维护性。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

5 个回复

正序浏览
很好很全面。。。。。。
回复 使用道具 举报
总结的挺好的啊
回复 使用道具 举报
已收藏,。。
回复 使用道具 举报
收藏了,总结的很到位,多谢了。
回复 使用道具 举报
总结的很全面!学习了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马