
正文
java向下转型代码,java向上向下转型
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java当中向上向下转型的作用是什么?向下转型的语法?
1、上转型是指将子类对象使用父类引用进行引用。得:上转型对象可以操作和使用子类继承或者重写的方法。失:上转型对象丧失了对子类新增成员变量或新增的方法的操作和使用。
2、例如int 类型数据和long类型数据相加,结果会自动转成long类型,因为int类型的存储空间保存不下long类型的值。
3、引用a的类型是animal,是cat的父类。所以是“父类引用指向子类对象”。如果是“子类引用指向父类对象”,那应该写成 cat a = new animal();但这显然是不和逻辑的。
4、这样由于子类无限多,这样如果情况有所该变的时候只要再写一个子类。 在泛型出现以前,利用向上转型等来实现多态,多态主要时间方法的重用和代码段的重用,当程序要发生改变的时候,只要该一点就可以。
5、有意思 向下转型的最终结果是,子类变量的指针指向了父类的实例化对象。简单点讲,就是把爹当儿子用。比如:此时你想比较一下两个儿子的年龄和体重是否一样。
6、呵呵,这个问题有意思了。最大的用处是java的泛型编程,用处很大,java的集合类都是这样的,不过由于是向下转型,所以不是安全的。 下面是向下转型的例子:子类转型成父类是向上转型,反过来说,父类转型成子类就是向下转型。
相关问答
Q1: java向下转型有什么用
最大的用处是java的泛型编程,用处很大,java的集合类都是这样的,不过由于是向下转型,所以不是安全的。 下面是向下转型的例子:子类转型成父类是向上转型,反过来说,父类转型成子类就是向下转型。
这种 方法在Java语言环境中就叫做“向上转型”。从这个例子中可以看出,向上转型是一个从较抽象类型的类(鸟类)向比较 具体的类(燕子)过度。
向下转型的最终结果是,子类变量的指针指向了父类的实例化对象。简单点讲,就是把爹当儿子用。比如:此时你想比较一下两个儿子的年龄和体重是否一样。
上转型是指将子类对象使用父类引用进行引用。得:上转型对象可以操作和使用子类继承或者重写的方法。失:上转型对象丧失了对子类新增成员变量或新增的方法的操作和使用。
因为所有的类型都继承了Object类型,而Integer类型没有继承自Long,他们两个不存在继承关系。如果要是转换的话,先将Long转换成基本类型long,基本类型再强转为int,再封装成Integer。
Q2: Java中的多态到底有什么实际开发作用
1、在实际的开发当中一般都应用在两个方面,其一:方法的多态---重载(overload)和重写(override),其二:对象的多态,对象的向上转型,对象的向下转型。方法的重载:发生在同一个类当中,方法名称相同,参数列表不同。
2、多态的最大的作用是父类对象可以用子类实例化,这样如果子类实现变化了,代码不用改变。增加了程序的可重性。
3、多态体现为两种方式:重写和重载 重写是父子类之间多态的体现,它的好处就是可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。
4、第二种就是动态绑定,使用父类引用指向子类对象,再调用某一父类中的方法时,不同子类会表现出不同结果。
5、其实多态是一种面向对象的设计思想,也就是只给接口,让你去实现(可以替换实现),就是设计和实现的分离,这个做法有利于软件的重用。
6、可替换性。多态对已存在的代码具有可替换性。(不用修改当前代码,只要提供新的方法就可以直接调用)可扩充性。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。
Q3: Java中数组向下转型,编译没问题,运行却报错???
向下强制转型——把一个父类(或祖先类)引用强制转换成一个子类(或孙类)引用,是不会发生编译错误的。但如果这个父类(或祖先类)引用实际引用(指向)的对象,不是一个子类(或孙类)对象,运行时就会抛出异常。
在Java编程中,变量赋值失败通常是由以下几个原因造成的:拼写错误:这是最常见的原因之一。如果在声明变量时使用了错误的拼写,那么编译器会报错,无法找到该变量。
String strings[]=(String [])list.toArray();这样写代码个人觉得应该没什么问题,编译也没有问题。
Q4: java中的String类型的对象为什么可以自动转换成Object类型的?而Obj...
首先String不属于8种基本数据类型,String是一个对象。因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。
因为Java中多态机制决定子类可以安全的以父类存在,所以有时候为了保证参数的多样性,我们会把一部分类型的对象转换为Object型,接收时候再按照需求进行转型、使用。如:可以传入多种类型参数的方法。
可以更换的!object这个类型是java当中任意类型的父类~传值时可以用任意类型替换。
此外,需特别小心的是因定义为Object 类型的对象在转成String时语法检查并不会报错,这将可能导致潜在的错误存在。这时要格外小心。
]是,String[]是,float[]不是,而FLoat[]是,明白了吧,int、float只是简单的数据类型,并非实体类型。那么,Object是什么呢,java把它定义为所有对象的统称,任何实体都是一个对象,所以Object[]本身也是对象数组。
最后,谈一谈String与引用类型的转换。前面已经说过,所有的对象都是从Object继承过来的,Object中有一个toString方法。
关于java向下转型代码和java向上向下转型的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








