java 类之间转换,java数据类型之间转换应用方法
当一个对象不能直接类型转换。就需要造型。
例如:
一个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数据类型之间转换应用方法相关推荐
- PyTorch 笔记(03)— Tensor 数据类型分类(默认数据类型、CPU tensor、GPU tensor、CPU 和 GPU 之间的转换、数据类型之间转换)
1. Tensor 数据类型 Tensor 有不同的数据类型,如下表所示,每种类型都有 CPU 和 GPU 版本(HalfTensor)除外,默认的 tensor 是数据类型是 FloatTensor ...
- 【java】字符串和基本数据类型之间的转换
字符串和基本数据类型之间的转换:程序的功能是比较两个数的大小 代码清单如下: package p1; import javax.swing.JOptionPane;public class Java_ ...
- Java输出、变量、数据类型及其转换
20190701(输出.变量.数据类型及其转换) 标签: java #输出命令 System.out.println("徐凤年"+"两袖青蛇"+"剑开 ...
- java 类参数_Java的数据类型和参数传递(详解)
Java提供的数据类型主要分为两大类:基本数据类型和引用数据类型. Java中的基本数据类型 名称 大小 取值范围 byte型 (字节) 8bit -128-127 (-2^7到2^7-1) shor ...
- scala使用java类_使用Java和Scala将Play Framework 2应用程序部署到Openshift
scala使用java类 几个星期, 马克·阿特伍德 ( Mark Atwood) , 豪尔赫·艾利斯 ( Jorge Aliss )和我塞巴斯蒂安 ·斯卡塔诺 ( SebastiánScarano) ...
- hadoop 运行java类_hadoop运行java类
使用hadoop运行自己写的java类报错: /home/hadoop/bin/hadoop MaxTemperature /home/hadoop/input/sample.txt output E ...
- matlab地址结构与转换,matlab数据类型和转换
matlab数据类型和转换 Matlab中有15种基本数据类型,主要是整型.浮点.逻辑.字符.日期和时间.结构数组.单元格数组以及函数句柄等. 1.整型:(int8:uint8:int16:uint1 ...
- java类注入_[java]静态类中使用注入
场景:在一个java类中,需要使用某个service,但是这个类不是单例,并且无法直接取得spring中的bean,这时就会把这个service放入静态工具类中 注:静态类中是无法直接注入对象的,要采 ...
- 无法初始化java类_myeclip运行java程序不能初始化类 NoClassDefFoundError
引用 3 楼 Menglinyang 的回复: 是就这个项目有问题 还是所有的都是这样? package cn.itcast.utils; import java.io.InputStream; im ...
- java中几种基本数据类型之间的转换
int类型转字符串 int a = 10 ; String str = a+""; int a = 10; String str = Integer.toString(a); in ...
最新文章
- 重磅发布:Redis 对象映射框架来了,操作大大简化!
- ISO9000管理体系认证申请书
- 关于ueditor多图上传加水印
- postman cookie设置_接口鉴权之cookie,session和token
- Linux C 数据结构---链表(单向链表)
- 泰坦尼克号生存预测入门
- QQ浏览器怎么设置为默认浏览器
- 高中必背88个数学公式_高中数学:必修+选修全部知识点精华!附高考必背203个公式...
- PostgreSQL 12系统表(5)pg_index
- CentOS6.5利用Docker部署ShowDoc
- 颜宁追问4位男科学家:如何平衡事业和家庭?
- VDI序曲十九 无须×××直接mstsc到内网服务器
- CAD制图初学入门如何提高CAD绘图效率?
- WinForm界面控件Telerik UI for WinForm入门指南教程
- iShot——Mac上功能最全的截图、录屏创造工具
- ArcGIS之栅格地图配准
- SPSS提示“列表中不允许存在字符串变量”的解决方法
- IRP IO_STACK_LOCATION 《寒江独钓》内核学习笔记(1)
- anaconda卡在loading application
- css波浪动画使用图片