object和常用类

    1. 1.object表示对象类,Java中的根类.
    2. 2.所有类都是object子类,所有类都可以调用object类中的方法.
    3. 3.object类中的equals方法和==都是比较对象是否是同一个存储地址.
    4. 4.每个类都应该覆盖equals方法去比较我们关心的数据,而不是内存地址

    == 符号到底比较的是什么:

    1. 比较基本数据类型:比较两个值是否相等
    2. 比较对象数据类型:比较两个对象是否是同一块内存空间

    接口

    1. 接口是一种特殊的类,定义类时用class关键字.定义接口用interface关键字
    2. 类是单继承,接口也可以继承接口,但是可以多继承.
    3. 接口和抽象一样.不能创建对象,必须定义一个类去实现接口,且要覆盖接口中的方法
    4. 这个类称为实现类,类与接口之间的关系称之为实现类关系

    多态

    1. 面向对象三大特征 :封装继承多态
    2. 多态:一个对象具有多种形态
    3. 多态可以是继承关系(类与类)也可以是实现关系(接口和实现类)
    4. 父类引用变量指向与子类变量,调用方法时实际调用的是子类的方法

    多态调用关系

    1. Animal a =new Cat();
    2. a.shout
    3. 类型转换和instanceof运算符
    4. 自动类型转换提升:把子类对象赋给父类变量(多态)
    5. Animal a =new Cat();object obj =new Cat();
    6. 强制类型转换:把父类类型对象赋给子类类型变量(是要该对象的真实子类类型)
    7. Animal a =new Cat(); Cat a =(Cat) a;

    instanceof 运算符

    1. Boolean b =对象a instanceof b

    多态的好处

    1. 面向接口编程,体现的就是多态,把实现类的对象赋给接口类型变量,屏蔽了不同实现类之间的实现差异,从而做到通用编程.