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
  • 相关阅读:
    AC自动机模板
    hdu 6034 贪心模拟 好坑
    UVA 10870
    hdu 2604 递推 矩阵快速幂
    hdu 3117 Fibonacci Numbers 矩阵快速幂+公式
    hdu 1575 Tr A 矩阵快速幂
    POJ_1151 扫描线+离散化+线段树
    HDU_2227 求不减子序列的个数(树状数组+DP)
    深夜敲模板_5——KMP
    深夜敲模板_4——无向图的割顶和桥
  • 原文地址:https://www.cnblogs.com/leiblog/p/11324153.html
Copyright © 2011-2022 走看看