Bootstrap

Java--多态

1.多态为同一方法根据发送对象的不同而采用多种不同的行为方式

2.一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多

3.多态存在的条件

        1.有继承关系

        2.子类重写父类方法

        3.父类引用指向子类对象

4.多态是方法的多态,属性没有多态

5.由于多态需要被重写,因static,final,private都不可以被重写,所以皆不存在多态

6.图中定义了Person类(父类),Student类(子类),以及主程序栏Application

        Person类中定义了一个run方法,Student类中定义了一个重写Person类的run方法一个一个单独的eat方法

        1.主程序中new了三个实例对象,其中new的都是Student类型的,由于Person类为Student类的父类,可以指向子类,所以new Person类型的Student类,同理,Object为所有类的父类,也可new Object类型的new Student;

        2.当只调用时是s2.run时,输出的为run;但当调用是时s2.run和s1.run两个方法时,二者输出结果为son,son;这是因为Student子类重写了父类的run方法,因此仅会执行子类的输出结果为

        3.当调用的是是s1.eat时,会输出子类的eat,但当调用s2.eat时,系统会进行报错,这是因为eat方法仅存在于子类Student类中,父类Person无法进行调用,但可想如图中所谓进行强制类型转换为Student类即可进行调用

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;