zoukankan      html  css  js  c++  java
  • 【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
  • 相关阅读:
    English Sentenses【no use】
    MacOS显示和不显示隐藏文件
    各个会议期刊论文录取情况
    C++之linux下文件结构实现
    Ubuntu安装opencv
    tmux使用
    事件的默认行为 与 事件流
    currentTarget 与 Target 的区别
    元数据标签Embed
    fl,flash,mx包的区别
  • 原文地址:https://www.cnblogs.com/leiblog/p/11324153.html
Copyright © 2011-2022 走看看