一、封装
封装要点是对XXX的概括描述,从实物到抽象。
例如:【私家车----》汽车car; 载客车----》大巴bus; 拉货车----》卡车truck】对现实中的实物做了封装,抽象成具体类
拓展:【汽车----》车;大巴----》车;卡车----》车】对具体类做了封装,抽象成抽象类/接口;
二、继承
子类和父类的关系体现了java的继承特性;
父类有的公共方法和公共属性,子类可以直接实用;
子类的属性和方法,父类不能使用;
三、多态
方法的重写和重载体现了java的多态特性;
重载发生在子类中,只有实现了某个父类的子类,才可以重载父类的公共方法;
重写发生在一个类中,方法名称相同,返回类型、参数类型、参数个数等不同;
面试题:抽象类和接口的区别是什么?
java机制(单个继承、多个实现),导致了抽象类和接口的产生,抽象类可以被继承,接口可以被实现;
接口中的方法没有方法体,实现该接口的类必须实现接口的所有方法,抽象类中非抽象方法可以有方法体;
总结:抽象类可以提供实现方法,接口不行;抽象类只能继承一个,接口可以实现多个。
思维发散:合理利用抽象类和接口的各自优势,成就了一个经典的设计模式:声明类型的工作由java接口承担,但是同时给出一个抽象类,实现这个借口,而其他同属于这个抽象类的具体类可以选择实现这个java接口,也可以选择继承这个抽象类,也就是说在层次上,java接口在最上面,然后紧跟抽象类。-----------“默认适配模式“
能入您法眼的点个赞!