2018年11月10日Java学习之多态性

1.多态性的体现:

  1. 方法的重载和重写,(overload overwrite)
  2. 对象的多态性—可以直接用在接口和抽象类上。
    java引用变量有两个类型,编译时类型和运行时类型,
    声明变量是使用编译时类型,实际赋给该变量时是运行时类型。
    若编译时类型和运行时类型不一致,就出现了多态性。

2.当父类引用指向子类的对象时,调用重写的同名函数时,调用子类的方法

3.成员变量不具有多态性,只有引用变量才有.

4.多态性的条件,继承关系,方法的重写。

5.x instanceof A 检验x是否为类A的对象,返回值为boolean型
x属于类A的子类B,也是true.

6.对基本数据类型进行强制类型转换
对Java对象的强制类型转换称为造型

  1. 子类转换到父类可以自动进行(因为子类里面包含父类的所有元素)
  2. 从父类到子类的类型转换通过造型实现
  3. 如果两个引用类型之间无继承关系,是非法的, 在造型前可以使用instanceof操作符测试一个对象的类型

7.Object类是所有Java类的根父类,如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类
method(Object obj){…}//可以接收任何类作为其参数

8.equals():这是Object 类里面的一个方法,由于所有的类都继承了Object,所有自动获得了这个方法,同时也可以对其进行重写。只能比较引用类型,是否指向同一个对象。
特别地:当用equals()方法进行比较时,对类File、String、Date及包装类(Wrapper Class)来说,是比较类型及内容而不考虑引用的是否是同一个对象;
原因:在这些类中重写了Object类的equals()方法。

猜你喜欢

转载自blog.csdn.net/zcguoji/article/details/83928376
今日推荐