当一个对象不能直接类型转换。就需要造型。

例如:

一个int型能直接转换为double   ,就不需要造型。

一个double型不能直接转换为int,就需要造型。

int   a   =1   ;

double   d1   =   a;     //不需要造型

int   a2   =   (int)d1   //需要造型。

注意:

1)boolean不能造型为其他任何类型,其他任何类型也不能造型为boolean型。

2)子类能够直接转换为父类,不需要造型。父类不能够直接转换为子类,需要造型。

3)在强制造型时,不一定造型成功,此时编译对,但执行时出错。

数据类型转换

class StringConversions {

public static void main(String args[]) {

int num = 19648;

System.out.println(num + " in binary: " + Integer.toBinaryString(num));

System.out.println(num + " in octal: " + Integer.toOctalString(num));

System.out.println(num + " in hexadecimal: " + Integer.toHexString(num));

}

}

所谓“造型”,并不是将一个类型的对象“变成”为某个类型,而是“看作”某个类型。比如有父类human,子类man与woman,如果new一个man的话,不需要显式造型,就可以被“看作”是一个human。(比如:human   aHuman   =   new   man();)当你拿到一个human对象时,实际上有可能是一个man,也可能是个woman,甚至干脆就是个human。如果你把刚才new的man还“看作”是个man的话(也就是说:man   m1   =   (man)aHuman;,这就是所谓“下溯造型”),是不会有错的;但如果你要是把他“看作”woman(就像这样:woman   w1   =   (woman)aHuman;),就会出现异常。

所以“上溯造型”一定是安全的,而“下溯造型”是不安全的

实例二

class Animal {

public String toString() {

return "This is an animal ";

}

}

class Dog extends Animal {

public void sound() {

System.out.println("Woof Woof");

}

}

class Cat extends Animal {

public Cat(String aName) {

name = aName;

}

public String toString() {

return super.toString() + "nIt's " + name + " the " + breed;

}

public void sound() {

System.out.println("Miiaooww");

}

private String name;

private String breed;

}

public class MainClass {

public static void main(String[] a) {

Cat aPet = new Cat("Fang");

Animal theAnimal = (Animal) aPet;

}

}

java 类之间转换,java数据类型之间转换应用方法相关推荐

  1. PyTorch 笔记(03)— Tensor 数据类型分类(默认数据类型、CPU tensor、GPU tensor、CPU 和 GPU 之间的转换、数据类型之间转换)

    1. Tensor 数据类型 Tensor 有不同的数据类型,如下表所示,每种类型都有 CPU 和 GPU 版本(HalfTensor)除外,默认的 tensor 是数据类型是 FloatTensor ...

  2. 【java】字符串和基本数据类型之间的转换

    字符串和基本数据类型之间的转换:程序的功能是比较两个数的大小 代码清单如下: package p1; import javax.swing.JOptionPane;public class Java_ ...

  3. Java输出、变量、数据类型及其转换

    20190701(输出.变量.数据类型及其转换) 标签: java #输出命令 System.out.println("徐凤年"+"两袖青蛇"+"剑开 ...

  4. java 类参数_Java的数据类型和参数传递(详解)

    Java提供的数据类型主要分为两大类:基本数据类型和引用数据类型. Java中的基本数据类型 名称 大小 取值范围 byte型 (字节) 8bit -128-127 (-2^7到2^7-1) shor ...

  5. scala使用java类_使用Java和Scala将Play Framework 2应用程序部署到Openshift

    scala使用java类 几个星期, 马克·阿特伍德 ( Mark Atwood) , 豪尔赫·艾利斯 ( Jorge Aliss )和我塞巴斯蒂安 ·斯卡塔诺 ( SebastiánScarano) ...

  6. hadoop 运行java类_hadoop运行java类

    使用hadoop运行自己写的java类报错: /home/hadoop/bin/hadoop MaxTemperature /home/hadoop/input/sample.txt output E ...

  7. matlab地址结构与转换,matlab数据类型和转换

    matlab数据类型和转换 Matlab中有15种基本数据类型,主要是整型.浮点.逻辑.字符.日期和时间.结构数组.单元格数组以及函数句柄等. 1.整型:(int8:uint8:int16:uint1 ...

  8. java类注入_[java]静态类中使用注入

    场景:在一个java类中,需要使用某个service,但是这个类不是单例,并且无法直接取得spring中的bean,这时就会把这个service放入静态工具类中 注:静态类中是无法直接注入对象的,要采 ...

  9. 无法初始化java类_myeclip运行java程序不能初始化类 NoClassDefFoundError

    引用 3 楼 Menglinyang 的回复: 是就这个项目有问题 还是所有的都是这样? package cn.itcast.utils; import java.io.InputStream; im ...

  10. java中几种基本数据类型之间的转换

    int类型转字符串 int a = 10 ; String str = a+""; int a = 10; String str = Integer.toString(a); in ...

最新文章

  1. 重磅发布:Redis 对象映射框架来了,操作大大简化!
  2. ISO9000管理体系认证申请书
  3. 关于ueditor多图上传加水印
  4. postman cookie设置_接口鉴权之cookie,session和token
  5. Linux C 数据结构---链表(单向链表)
  6. 泰坦尼克号生存预测入门
  7. QQ浏览器怎么设置为默认浏览器
  8. 高中必背88个数学公式_高中数学:必修+选修全部知识点精华!附高考必背203个公式...
  9. PostgreSQL 12系统表(5)pg_index
  10. CentOS6.5利用Docker部署ShowDoc
  11. 颜宁追问4位男科学家:如何平衡事业和家庭?
  12. VDI序曲十九 无须×××直接mstsc到内网服务器
  13. CAD制图初学入门如何提高CAD绘图效率?
  14. WinForm界面控件Telerik UI for WinForm入门指南教程
  15. iShot——Mac上功能最全的截图、录屏创造工具
  16. ArcGIS之栅格地图配准
  17. SPSS提示“列表中不允许存在字符串变量”的解决方法
  18. IRP IO_STACK_LOCATION 《寒江独钓》内核学习笔记(1)
  19. anaconda卡在loading application
  20. css波浪动画使用图片

热门文章

  1. C++中的空指针和void * 指针
  2. Spring boot容器导入组件
  3. EF映射之修改数据库
  4. python数据库编程dbf_python读写dbf文件
  5. 解决方案和项目的关系_建筑企业数字化转型解决方案|建企大数据篇
  6. 空指针异常是什么原因_睡觉时,突然抖了一下,脚踏空,是什么原因?
  7. 玩转springboot:配置文件详细讲解
  8. springmvc教程--快速入门教程
  9. Java设计模式-工厂方法模式和抽象工厂模式
  10. java设计模式-Builder创建者模式