JAVA的类型转换

一.JAVA类型转换规则

    1.基本类型之间的转换:将值从一种类型转换成另一种类型

    2.引用变量的类型转换:  将引用转换为另一类型的引用,并不改变对象本身的类型。 

                    只能转换为:  任何一个(直接或间接)超类的类型(向上转型);

                                        对象所属的类(或其超类)实现的一个接口(向上转型);

                                        被转为引用指向的对象的类型(唯一可以向下转型的情况)

    3.当一个引用被转为其超类引用后,通过他能够访问的只有在超类中声明过的方法


栗子:类型的转换


Person继承了Object类,Employee、Customer继承了Person类,Manager继承了Employee类,Person、Company、Car实现了Insurable接口

Manager对象能够被转换成什么类型?

    可以被转型为Employee、Person、Objcet 或 Insurable

    不能被转型为Customer、Company 或 Car


二.隐式类型转换:自动向高类型转换,不丢失数据

    1.基本数据类型:可以转换的类型之间,存储容量低的 自动向 存储容量高的 类型转换

    2.  引用变量:

栗子: 子类的引用转换成超类的引用

            Employee emp; emp = new Manager(); //将Manager类型的对象直接赋给Employee类的引用变量,    

                                                                                  系统会自动将Manager对象塑形为Employee类

栗子:被转换成对象所属类实现的接口类型

            Car car = new Car();  //Car是实现了Insurable的类

             Insurable i = car;    //将car引用赋给Insurable引用,将实现了接口的类(Car)的对象引用转换成了接口类型(Insurable)的引用


三.显式类型转换:高类型向低类型转换,有数据丢失

    1.基本数据类型: (int)87.213;  (char)65;

    2.引用变量:    Employee emp;Manager man; 

                            emp =new Manager(); //隐式转换

                            man=(Manager)emp;//将emp显示转换为它指向的对象类型


四.类型转换的主要应用场合

    1.赋值转换:赋值运算符右边的表达式或对象类型转换为左边的类型;

    2.方法调用转换:实参的类型转换为形参的类型;

    3.算数表达式转换:算数混合运算时,不同类型的操作数转换为相同的类型再进行运算;

    4.字符串转换:字符串连接运算时,如果一个操作数为字符串,另一个操作数为其他类型,则会自动将其转化为字符串

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值