JAVA--OOP(封装、继承、多态)

一、封装

    封装要点是对XXX的概括描述,从实物到抽象。

    例如:【私家车----》汽车car;   载客车----》大巴bus;   拉货车----》卡车truck】对现实中的实物做了封装,抽象成具体类

    拓展:【汽车----》车;大巴----》车;卡车----》车】对具体类做了封装,抽象成抽象类/接口;

二、继承

    子类和父类的关系体现了java的继承特性;

    父类有的公共方法和公共属性,子类可以直接实用;

    子类的属性和方法,父类不能使用;

三、多态

    方法的重写和重载体现了java的多态特性;

    重载发生在子类中,只有实现了某个父类的子类,才可以重载父类的公共方法;

    重写发生在一个类中,方法名称相同,返回类型、参数类型、参数个数等不同;


面试题:抽象类和接口的区别是什么?

    java机制(单个继承、多个实现),导致了抽象类和接口的产生,抽象类可以被继承,接口可以被实现;

    接口中的方法没有方法体,实现该接口的类必须实现接口的所有方法,抽象类中非抽象方法可以有方法体;

    总结:抽象类可以提供实现方法,接口不行;抽象类只能继承一个,接口可以实现多个。


思维发散:合理利用抽象类和接口的各自优势,成就了一个经典的设计模式:声明类型的工作由java接口承担,但是同时给出一个抽象类,实现这个借口,而其他同属于这个抽象类的具体类可以选择实现这个java接口,也可以选择继承这个抽象类,也就是说在层次上,java接口在最上面,然后紧跟抽象类。-----------“默认适配模式“


能入您法眼的点个赞!

    

你可能感兴趣的:(java)