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
  • 相关阅读:
    cmd登录系统用户
    Js操作Cookie
    Tomcat 调优方案
    Oracle 服务启动关闭
    Mysql服务启动与关闭
    JSP中的隐含对象
    JSP指令
    Js的String对象
    js排序
    MyBatis系列目录--5. MyBatis一级缓存和二级缓存(redis实现)
  • 原文地址:https://www.cnblogs.com/leiblog/p/11324153.html
Copyright © 2011-2022 走看看