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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 新人—小明同学 中级黑马   /  2016-7-8 02:18  /  335 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


多态前提:
a:要有继承关系。
b:要有方法重写。       
c:要有父类引用指向子类对象

  1多态中的成员访问特点之成员变量
编译看左边(父类),运行看左边(父类)
  2多态中的成员访问特点之成员方法
编译看左边(父类),运行看右边(子类)
  3多态中的成员访问特点之静态成员方法
编译看左边(父类),运行看左边(父类)
  只有非静态的成员方法,编译看左边(父类),运行看右边(子类)
多态中向上转型和向下转型 Person p = new SuperMan();向上转型 SuperMan sm = (SuperMan)p;向下转型
多态的好处
  a:提高了代码的维护性(继承保证)
  b:提高了代码的扩展性(由多态保证)
Animal a = new Cat();开发的时候很少在创建对象的时候用父类引用指向子类对象,
直接创建子类对象更方便:Cat c1 =new Cat();因为可以使用子类中的属性和行为
当作参数(这里是方法的形式参数)的时候用多态最好,因为扩展性强
多态的好处
可以当作形式参数,可以接收任意子类对象
C:多态的弊端
不能使用子类的特有属性和行为。

抽象类特点
    a:抽象类和抽象方法必须用abstract关键字修饰
   抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口
   抽象类不能实例化
抽象类的成员特点
不能修饰成员变量,可以修饰常量
a:成员变量:既可以是变量,也可以是常量。abstract是否可以修饰成员变量?不能修饰成员变量(理解为:成员变量是具体的,是属性,颜色,有具体颜色)
    b:构造方法:有。为了给子类初始化使用的
用于子类访问父类数据的初始化。
    c:成员方法:既可以是抽象的,也可以是非抽象的。
  抽象方法 强制要求子类做的事情。()
: 非抽象方法 子类继承的事情,提高代码复用性。

接口特点
a:接口用关键字interface表示
按照多态的方式来实例化。inter i = new Demo();
可以是具体类。一定要重写接口中的所有抽象方法。(推荐方案)
接口成员特点
    成员变量;只能是常量,并且是静态的并公共的。 * 默认修饰符:public static final(能互换,默认给出)
成员方法:只能是抽象方法。 * 默认修饰符:public abstract

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马