Java_基础Java中强制类型转换

Posted leiblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java_基础Java中强制类型转换相关的知识,希望对你有一定的参考价值。

首先,狭义上的强制类型转换指的是引用类型,且是父类向子类转换,这种转换只牵扯到引用名义类型的转换,具体的对象内存没有发生一点变化。

而基本类型的转换与此不同,其数据确实发生了变化。如果是基本类型和其包装类的相互转化,实际上调用是Integer.parseInt()和Integer.valueOf()来完成。

父类向子类进行强制转换,如果成功不会有任何数据丢失,如果不是其子类,那么会报错。基本类型之间的转换,如果是大范围的向小范围的转换,确实有可能会发生数据丢失或精度丢失。
实例:
public class Main 
    public static void main(String[] args) 
        Base base = new Child();
        base.test();
        System.out.println(base.getClass().getName());
        base = (Base) base;
        base.test();
        System.out.println(base.getClass().getName());
    


class Base 
    public void test() 
        System.out.println("我是父类方法");
    


class Child extends Base 
    @Override
    public void test() 
        System.out.println("我是子类方法");
    
    public void childSelf()
        System.out.println("我不是重写了父类的方法");
    

运行结果:

我是子类方法
com.hubu.zhoulei.algorithm.Child
我是子类方法
com.hubu.zhoulei.algorithm.Child

以上是关于Java_基础Java中强制类型转换的主要内容,如果未能解决你的问题,请参考以下文章

Java数据类型转换:强制类型转换+自动类型转换

Java_数据类型转换

java基础---数据类型&Math方法&强制转换

零基础 快速学Java韩顺平 p52-59 基本数据类型转换(自动强制)与String类型的转换

java基础05-类型转换

Java学习_数据类型转换