java中向上转型和向下转型有何用途

2024-10-31 11:35:13
推荐回答(5个)
回答1:

无论是上转还是下转都是为了让类的使用范围和适用范围发生变化,以便操作不同范围的变量或者方法。

1上转型是指将子类对象使用父类引用进行引用。
得:上转型对象可以操作和使用子类继承或者重写的方法。
失:上转型对象丧失了对子类新增成员变量或新增的方法的操作和使用。
2与向上转型相反,即是把父类对象转为子类对象:作用也与上转相反。

java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象。子类和父类中定义同名的变量时,仅仅是隐藏了,变量没有多态性;而对于覆盖的方法,Java表现出多态性,会调用更具体的子类里面的方法,无论从哪里调用,无论使用什么引用类型调用。

回答2:

Person 可以表示为一个抽象的东西 就是人。比如说人可以唱歌, 就好比Person类中有一个sing方法.
那么这个抽象的类(Person 人)可以具体到两类或者更多类 比如 男人,女人 。
Man extends Person 或者 Woman extends Person
那么男人 还有 女人 分别实现sing方法。 因为男人和女人唱歌总还是有区别的嘛。

当 Person p = new Man(); p.sing(); 这个时候就是调用男人唱歌的sing方法
当 Person p = new Woman(); p.sing(); 这个时候就是调用女人的唱歌的sing方法
这样其实就是一个java的继承,多态. 利于程序扩展. 你需要理解这种设计方式,会让你写出更易维护,简洁的代码。

回答3:

一般实际工作中person都会是一个接口,而接口不能new对象,就无法调用方法,这时候就要向上转型,再调用方法,而且只能调用接口里的方法,而不能调用实现类方法。

回答4:

为了多态,主要是参数多态和返回类型多态。省很多代码的。

回答5:

你是学mars老师的视频吧?面向对象的感觉慢慢就会懂了,不用着急,到了你实际开发的时候你觉得这样写代码很麻烦啊多重复什么的,你就会去研究面向对象啦!慢慢就成长起来了。