黑马程序员技术交流社区
标题:
笔记day09
[打印本页]
作者:
18201432758
时间:
2015-9-24 21:32
标题:
笔记day09
多态
前提 1 必须存在继承关系(或者实现接口)
2 必须出现方法的覆盖,(重写)
3 必须是 父类的引用指向子类的对象
特点
成员变量(静态非静态的)都是看左边
成员方法 非静态的是编译时看左边,运行时看右边(动态绑定)
静态的事编译时和运行时都看左边
类型转换
弊端:无法获取子类特有属性
解决:向下转型(必须先有向上转型)
开发时候很少父类的引用指向子类对象,但是当参数的时候使用较多
这样扩展性强
多态的好处和弊端:
a:提高了代码的维护性(继承保证)
b:提高了代码的扩展性(由多态保证)
可以当做形式参数,接受任意的子类对象。
抽象类
抽象类不一定有抽象方法
有抽象方法一定是抽象类 ,或者接口
abstract:
1 不能修饰成员变量
2 成员方法可以是抽象的也可以非抽象(abstract)
抽象方法必须强制要求重写!
3 抽象类中有构造方法的
接口的
接口的实现类,可以是抽象(意义不大)的也可以是非抽象的。
成员变量:只能是常量,默认修饰符是 public static final 建议手动给出。
构造方法:接口中没有构造方法,
接口与接口之间,可以单继承 也可以多继承
接口与抽象类的区别
接口类的成员变身必须是常量, 抽象类可以是变量
接口的成员方法必须全部是抽象的而且被public 修饰,而抽象类的方法可以是抽象的 也可以是非抽象的
接口没有构造方法 抽象类时又构造方法的
接口是被实现,抽象类时被继承。
设计理念
抽象类is a 是继承体系的共性的内容
接口 like a 是该继承体系的扩展功能
作者:
小转铃
时间:
2015-9-24 22:24
感谢楼主的笔记,学习一下
作者:
善良的禽兽
时间:
2015-9-24 22:46
总结得很详细!
作者:
andyliu666666
时间:
2015-9-24 23:15
写的很用心,一起加油!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2