第九弹多态和Object类

多态

定义:某一类事物的多种存在形态

1、多态的体现

父类的引用指向了自己的子类对象。

父类的引用也可以接收自己的子类对象

//向下转型

ex:Animal cat=new Cat();

Cat cat=(cat)c;

Animal a=new Cat();

//向上转型

a.eat();

Cat c=(Cat)a;

2、多态的前提

必须是类与类之间有关系,要么继承,要么实现。通常还有一个前提,存在覆盖。

3、多态的好处

多态的出现提高了程序的扩展性。

4、多态的弊端

只能使用父类的引用访问父类中的成员



多态成员的特点

多态成员函数的特点:在编译时期:参阅引用型变量所属的类中是否有调用的方法,如果有,编译通过,没有,编译失败。在运行时期:参阅对象所属的类中是否有调用的方法。
总结:成员函数在多态调用时,编译看左边,运行看右边。
在多态中,成员变量的特点:无论编译与运行,都参考的左边。

在多态中,静态成员函数的特点:
无论编译和运行,都参考左边。

Object

它是所有对象的间接父类;该类中定义的所有对象都具备的功能。
equals()方法:
java认为所有的对象都具备比较性,都能比较大小。

注意:我们在重写equals()方法的时候我们必须要先进行多态转型。

toString()方法:

class Test{

public static void main(String[] args){

Demo d = new Demo();

System.out.println(d.toString);

 System.out.println(Integer.toHexString(d.hashCode()))

class Demo{

}

原文地址:https://www.cnblogs.com/lv123/p/7147390.html