java多态——《向上转型与向下转型》

多态:

多态的问题主要发生在对象的初始化过程中,多态分为向上转型向下转型两种类型。

向上转型:

Car car = new Car;      //Car extends vehicle;
Vehicle ve1 = new vehicle();        //初始化对象ve1;
ve1.show(car)       //使用父类的方法调用子类的对象,子类对象的值域变大,故为向上转型

向下转型:

Vehicle ve = new car;       //父类对象调用子类方法,父类对象值域变小,故为向下转型
ve.drive();     //.drive()方法为car子类独有的方法
                //报错;父类值域大,不适用于子类(值域小)的方法
//解决方法:进行类型的强制转换
(Car ve).drive();       //父类转换成子类值域后执行子类方法

你可能感兴趣的:(java多态——《向上转型与向下转型》)