时光荏茬,匆匆年华,转眼之间来到黑马也差不多一个月了吧,从升上就业班也有两个星期左右的时间了,整体感觉变化还是蛮大的,下面就来分享一下近期的一些学习笔记好了。
接口:(interface)
概念:
用于处理继承单一的局限性,比抽象类更抽象的表现形式(接口并不是类),包含 的方法全是抽象方法,与类之间的关系为实现
成员特点:
只能有抽象方法
默认修饰符 public abstract 且只能使用此修饰符
只能有常量
默认修饰符 public static final
没有构造方法
注意:
不能创建对象
类与接口为实现关系(必须实现所有方法)
关系:
类与类为继承(单一和多层,不可循环)
类与接口为实现(单一和多实现)
接口与接口为继承(多继承)
优点:
类可以实现多个接口,接口与接口多继承,打破了继承的局限性
对外提供统一的规则
降低程序耦合性(实现模块化开发,提高开发效率)
和抽象类的区别:
和类的关系不同,接口为实现,可多实现,抽象类为继承,单一继承
成员:
变量:
接口只能有常量,抽象类即可以有常量,也可以有变量
方法:
接口只能有抽象方法,抽象类既可以有抽象,也可以有非抽象方法
构造方法:
接口没有构造方法,抽象类可以有构造方法
设计理念:
抽象类:当两者之间的关系存在 is a 的关系时可使用抽象类
接口:额外扩展的功能,本身与类无关,可以让类实现更多的功能
多肽:
概念:
不同时刻表现出的不同形态
前提条件:
子父类继承或者实现关系
方法重写
父类引用指向子类对象
动态绑定:
运行期间:
成员特点:
变量:
编译时看左边,运行时看左边
注:
调用时,父类引用只能使用父类变量名,使用子类变量名则编译错误
方法:
编译时看左边,运行时看右边
注:
父类引用不能使用子类特有的方法,否则报错
若方法名不同,则打印父类方法
若方法名相同,则打印子类方法
静态方法:
编译时看左边,运行时看左边(相当于用变量类型的类名调用)
引用类型之间的转换:
向上转型:
由小到大(自动转换)
向下转型:
由大到小(强制转换)
经过转型之后,就可以调用子类的特有成员了
注:不可以随意转换,只能转换回原来的子类
优缺点:
缺点:
无法直接访问子类特有成员
优点:
提高可维护性
提高可扩展性
适配器设计:
抽象方法后接接口
instanceof:
用于判断子类,适合强转时使用
Collection:
集合工具类 |
|