Java面向对象,基本类型包装类
2017-05-26 15:02
253 查看
贝壳信息 2017-05-24 17:32
在面向对象中,有一个概念:“一切皆对象”。现在问题来了:
“int age = 17;”,这句代码中是否存在对象呢?答案是没有,因为基本类型不是对象,那不是有矛盾?
现在给你一个复杂的十进制数据,请你迅速在程序中转换为2进制、8进制、16进制,算法是不是很麻烦?
现在使用double类型来表示学生的考试成绩(double类型初始值为0.0),但是,怎么表示一个人缺考和考试得0分呢(缺考是没有分数的哦)?
其实,上述的问题,主要还是基本数据类型缺少对象。如果需要对象,就必须先有类,因为对象是类创建出来的。此时我们可以为每一个基本类型都编写一个对应的包装类,类中包含了该基本类型的一个值。
//包装int类型的值
public class intWapper
{
private int value; //值
public IntWapper(int value)
{
this.value = value;
}
//包含int类型相关的所有算法
把十进投影转换2进制/8进制/16进制
}
...main...
{
IntWapper wapper = null; //没有对象,就没有数据
IntWapper wapper = new Int Wapper(0); //有对象有数据,只不过数据为0
}
我们有8种基本类型,就会有8个基本类型的包装类。
基本数据类型包装类
这些包装类在src.zip\java\lang中均可以找到。这8大基本数据类型的包装类都使用final修饰,都是最最终类,都不能被继承。
装箱和拆箱操作
Sun公司从Java5开始提供了自动装箱和自动拆箱功能:
自动装箱:可以把一个基本类型变量直接赋给对应的包装类变量;
自动拆箱:允许把包装类对象直接赋给对应的基本数据类型变量。
在Java的集合框架中,只能存储对象,不能存储基本类型值。
自动装箱和自动拆箱
其实,自动装箱和自动拆箱在底层使用的就是Integer.valueOf的方式。
switch支持的数据类型:byte.short,char,int,也支持对应的包装类,这是为什么呢?因为在底层,switch中会对包装类做手动拆箱操作。
在面向对象中,有一个概念:“一切皆对象”。现在问题来了:
“int age = 17;”,这句代码中是否存在对象呢?答案是没有,因为基本类型不是对象,那不是有矛盾?
现在给你一个复杂的十进制数据,请你迅速在程序中转换为2进制、8进制、16进制,算法是不是很麻烦?
现在使用double类型来表示学生的考试成绩(double类型初始值为0.0),但是,怎么表示一个人缺考和考试得0分呢(缺考是没有分数的哦)?
其实,上述的问题,主要还是基本数据类型缺少对象。如果需要对象,就必须先有类,因为对象是类创建出来的。此时我们可以为每一个基本类型都编写一个对应的包装类,类中包含了该基本类型的一个值。
//包装int类型的值
public class intWapper
{
private int value; //值
public IntWapper(int value)
{
this.value = value;
}
//包含int类型相关的所有算法
把十进投影转换2进制/8进制/16进制
}
...main...
{
IntWapper wapper = null; //没有对象,就没有数据
IntWapper wapper = new Int Wapper(0); //有对象有数据,只不过数据为0
}
我们有8种基本类型,就会有8个基本类型的包装类。
基本数据类型包装类
这些包装类在src.zip\java\lang中均可以找到。这8大基本数据类型的包装类都使用final修饰,都是最最终类,都不能被继承。
装箱和拆箱操作
Sun公司从Java5开始提供了自动装箱和自动拆箱功能:
自动装箱:可以把一个基本类型变量直接赋给对应的包装类变量;
自动拆箱:允许把包装类对象直接赋给对应的基本数据类型变量。
在Java的集合框架中,只能存储对象,不能存储基本类型值。
自动装箱和自动拆箱
其实,自动装箱和自动拆箱在底层使用的就是Integer.valueOf的方式。
switch支持的数据类型:byte.short,char,int,也支持对应的包装类,这是为什么呢?因为在底层,switch中会对包装类做手动拆箱操作。
相关文章推荐
- Java面向对象-基本类型包装类
- Java基本数据类型对象包装类
- JAVA高级01_04 基本数据类型的对象包装类 2011-4-20
- 黑马程序员——Java基础--String类与基本数据类型对象包装类
- Java中字符串对象和基本数据类型包装类
- 黑马程序员——Java之String类、基本数据类型对象包装类等
- java--基本数据类型对象包装类
- 黑马程序员_Java基础_泛型应用 和 基本数据类型对象包装类
- Java基础——String+基本数据类型对象包装类
- java学习之基本数据类型对象包装类
- java基础-String、基本数据类型对象包装类
- 黑马程序员-JAVA基础-基本数据类型对象包装类
- JAVA 基本数据类型对象包装类新特性
- 黑马程序员——Java String、StringBuffer、StringBuilder、基本数据类型对象包装类
- java基本数据类型的几点注意和面向对象思想
- 黑马程序员_java-基本数据类型的对象包装类-Math类-Random类-Scanner类<六>
- Java面向对象 String 基本数据类型对象包装类
- Java基础_String类和基本数据类型对象包装类
- 黑马程序员——Java基础:String类、StringBuffer、基本数据类型对象包装类
- Java---24---基本数据类型对象包装类