Java面向对象之——包装类

简介: Java面向对象之——包装类

Java面向对象之——包装类

在Java中有一个设计的原则“一切皆对象”,那么这样一来Java中的一些基本的数据类型,就完全不符合于这种设计思想,因为Java中的八种基本数据类型并不是引用数据类型,所以Java中为了解决这样的问题,引入了八种基本数据类型的包装类。

为八种基本数据类型提供包装类的作用

包装类的出现,能够使得基本数据类型和引用数据类型之间可以相互转换;

image.png

以上的八种包装类也是分为两种大的类型的:

· Number:Integer、Short、Long、Double、Float、Byte都是Number的直接子类,表示是一个数字。

 

· Object:Character、Boolean,Number都是Object的直接子类。

我们知道,基本数据类型存储在栈中,而类存储在堆中。当基本数据类型有了自己的包装类后,那么赋值就可以这么写:

 

image.png

这样对象名i就保存着地址存储在栈中,Interger类则存储在堆中。

变为包装类的好处

1,我们知道,对象可以作为接口传给方法;当变为包装类后,对象i也就可以传给一个方法:

Integer i = new Integer(10);

public void xxx(Object o){ … }

2,Integer还提供直接把字符串转换为数字的功能:

int a = Integer.parseInt(“100”);

装箱和拆箱操作

装箱和拆箱操作是我们使用包装类时常用的功能。

装箱:指如何把一个基本数据类型的值变成包装类。

拆箱:指从包装类中把值变为基本数据类型。

因为所有的数值型的包装类都是Number的子类,Number的类中定义了如下的操作方法,以下的全部方法都是进行拆箱的操作。

image.png

字符串转换

使用包装类还有一个很优秀的地方在于:可以将一个字符串变为指定的基本数据类型,此点一般在接收输入数据上使用较多。

 

在Integer类中提供了以下的操作方法:

public static int parseInt(String s) ;

将String变为int型数据

在Float类中提供了以下的操作方法:

public static float parseFloat(String s) ;

将String变为Float

在Boolean 类中提供了以下操作方法:

public static boolean parseBoolean(String s) ;

将String变为boolean

方法的可变参数

一个方法中定义完了参数,则在调用的时候必须传入与其一一对应的参数,但是在JDK 1.5之后提供了新的功能,可以根据需要自动传入任意个数的参数。

语法:

返回值类型 方法名称(数据类型…参数名称) {

image.png

注意:可变参数只能出现在参数列表的最后。

相关文章
|
3天前
|
Java
Java编程思想(面向对象)第四版PDF分享
探索《Java编程思想》第四版,理解Java不仅是特性集合,更是解决问题的强大工具。本书深入设计层面,构建编程思维模型,助你逐步精通Java。[阅读更多](https://zhangfeidezhu.com/?p=355) ![Java编程思想](https://ucc.alicdn.com/pic/developer-ecology/nrw3f3oqlpmag_c8ff959a921545f1bbabcefd37f029cf.png)
18 1
Java编程思想(面向对象)第四版PDF分享
|
8天前
|
存储 Java C语言
Java面向对象课程设计--类管理系统
Java面向对象课程设计--类管理系统
14 1
|
7天前
|
Java
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
Java面向对象特征(二)----- 继承
|
1天前
|
存储 安全 Java
Java基础系列1:Java面向对象
Java基础系列1:Java面向对象
|
1天前
|
Java 数据安全/隐私保护
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
6 0
|
1天前
|
存储 Java
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
Java基础手册(标识符 关键字 字面值 变量 数据类型 字符编码 运算符 控制语句 方法及方法重载和递归 面向对象与面向过程)
5 0
|
1天前
|
Java 关系型数据库
Java中的面向对象设计原则与实践
Java中的面向对象设计原则与实践
|
7天前
|
Java
Java面向对象特征(一)----- 封装
Java面向对象特征(一)----- 封装
|
9天前
|
机器学习/深度学习 Java API
杨校老师课堂之Java面向对象知识点整理集锦3
杨校老师课堂之Java面向对象知识点整理集锦
9 0
|
9天前
|
Java API 数据安全/隐私保护
杨校老师课堂之Java面向对象知识点整理集锦2
杨校老师课堂之Java面向对象知识点整理集锦
14 0