1.面向对象的特征
    抽象: 抽象是将一类对象的共同特征总结出来构造类的过程, 包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。

    继承:继承是从已有类得到继承信息创建新类的过程.提供继承信息的类被称为父类(超类、基类) ;得到继承信息的类被称为子类(派生类,扩展类)。

    封装:把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口,
    ,
    多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应,多态性分为编译时的多态性和运行时的多态性。

    2.单例模式
    单列模式种类:

    1.1 饿汉式 :线程安全,类加载期间进行初始化 1.2 饱汉式: 线程不安全,使用到才进行初始化 1.3 双检锁: 线程安全,饱汉式的基础上上同步锁

    3.重载和重写的区别
    重载:发生在同一个类中,方法名必须相同,参数类型,个数,顺序不同,方法返回
    值和访问修饰符可以不同,发生在编译时。
    重写:发生在父子类中,方法名.参数列表必须相同,返回值范围小于等于父类,抛出的异
    常范围小于等于父类,
    访问修饰符范围大于等于父类;如果父类方法访问修饰符为private 则子类就不能重写该方法。

    4.instanceof关键字
    用来检测一个对象是否为一个类的实例: 实现类 instanceof 接口

    5.Object类常用方法

    equals 截取 hashcode 哈希值 tostring 格式化打印信息 wait 等待 notify 等待解除 notifyall 所有等待解除 clone 关闭 getclass 获取类的class对象

    6.java中的math类常用方法

    pow() 幂运算 sqrt() 平方 round()四舍五入 abs()绝对值 random()0-1随机数