Java语言向上转型和向下转型具体有什么实际作用,直接调用不就可以了么,为什么还要转

Java语言向上转型和向下转型具体有什么实际作用,直接调用不就可以了么,为什么还要转

这里用到了一种面向抽象编程的思路,Java 的类的具体类型是运行时计算的,编译时根本没办法确定实际的类型,所以为了正确通过编译器,需要转换。
实际上,可以要什么类型就定义什么类型的,但是编程时会定义成抽象类型,所以需要显式转换类型。

为了使用方法 比如

List<String> list = new ArrayList<String>();

这个就是向上转型了 为了使用list里面的方法 向上转型:子类引用的对象转换为父类类型称为向上转型。通俗地说就是是将子类对象转为父类对象。此处父类对象可以是接口