黑马程序员_多态

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

多态

 

多态:可以理解为事物存在的多种体现形态。

1,多态的体现

       父类的引用指向了自己的子类对象。

       父类的引用也可以接受自己的子类对象。

2,多态的前提

       必须是类与类之间的关系。要么继承,要么实现

       通常还有一个前提:存在覆盖

3,多态的好处

       多态的出现大大的提高了程序的扩展性

   多态的弊端

       提高了扩展性,但是只能使用父类的引用访问父类中的成员。

4,多态的应用

 

5,多态的出现代码中的特点(多态使用的注意事项)

 

在多态中成员函数的特点:

在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有编译通过,如果没有编译失败。

在运行时期:参阅对象所属的类中是否有调用的方法。

简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。

 

在多态中,成员变量的特点:

无论编译还是运行,都参考左边(引用型变量所属的类).

 

在多态中,静态成员函数的特点:

无论编译还是运行,都参考左边。

 

class Fu

{

       int num = 5;

       void method1()

       {

              System.out.println("fu method_1");

       }

       void method2()

       {

              System.out.println("fu method_2");

       }

       static void method4()

       {

              System.out.println("fu method_4");

       }

}

 

class Zi extends Fu

{

       int num = 8;

       void method1()

       {

              System.out.println("zi method_1");

       }

       void method3()

       {

              System.out.println("zi method_3");

       }

       static void method4()

       {

              System.out.println("zi method_4");

       }

}

class DuoTaiDemo3

{

       public static void main(String[] args)

       {

              Fu f = new Zi();

              System.out.println(f.num);

 

              Zi z = new Zi();

              System.out.println(z.num);

              f.method1();

              f.method2();

              f.method3();

              Fu f = new Zi();

              f.method4();

       }

}

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值