面向对象之包装类与Object类
一、包装类(Wrapper)
1、包装类出现原因
- 为了使8种基本数据类型的变量具有类的特征,引入包装类
2、类型间转化
- ① 基本数据类型---->对应的包装类:自动装箱
包装类---->对应的基本数据类型:自动拆箱 - ② 基本数据类型、包装类---->String 类:调用 String 的重载的方法:value Of( xxx x );123 + ""
- ③ String类--->基本数据类型、包装类:调用包装类Xxx的parseXxx()
- ① 基本数据类型---->对应的包装类:自动装箱
1)基本数据类型转换为包装类:调用包装类的构造器
boolean型:
2)包装类转换为基本数据类型:调用包装类的xxxValue()

3)JDK 5.0 新特性:自动装箱自动拆箱
- ①自动装箱:基本数据类型 --->包装类
②自动拆箱:包装类--->基本数据类型 
- ①自动装箱:基本数据类型 --->包装类
4)基本数据类型、包装类转换位String类型
- 方式1:连接运算
方式2:调用String的valueOf(Xxx xxx) 
- 方式1:连接运算
5)String类型转换为基本数据类型、包装类
- 调用包装类的parseXxx(String s)

- 注:必须要保证string是可以转换的

- 错误的情况

- 错误的情况
6)总结

3、应用场景
- 很多方法的形参都是声明为类的类型。那么只能将本类或本类的子类的对象作为实参传入。那么就限制了传入基本数据类型的变量。为了能操作基本数据类型,我们需要对基本数据类型进行封装,封装为对应的包装类的对象,进而就满足形参中对类的要求
- vector.addElement(Object obj);//int--->Integer-->Object;
4、基本数据类型与对应包装类

5、练习

二、Object类
1、使用说明
- ① Object类是所有Java类的根父类
- ② Object类只声明了一个空参的构造器
- ③ Object类中定义的方法适用于任何其子类,包括数组。Object类中的功能(属性、方法)就具有通用性;属性:无
- ④如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类
2、equals()
- 1. 是一个方法,而非运算符
- 2. 只能适用于引用数据类型
- 3.Object类中定义的equals()和==的作用是相同的:比较两个对象的地址值是否相同.即两个引用是否指向同一个对象实体

- 4. 像String、Date、File、包装类等都重写Object类中的equals()方法。重写以后,比较的不是两个引用的地址是否相同,而是比较两个对象的"实体内容"是否相同

- 5. 通常情况下,我们自定义的类如果使用equals()的话,也通常是比较两个对象的"实体内容"是否相同。那么,我们就需要对Object类中的equals()进行重写
- 重写的原则:比较两个对象的实体内容是否相同

3、toString()
- ① Object类中toString()的定义

- ② 当我们输出一个对象的引用时,实际上就是调用当前对象的toString()

- ③ 像String、Date、File、包装类等都重写了Object类中的toString()方法。使得在调用对象的toString()时,返回"实体内容"信息

- ④ 对于自定义类而言,如果没有重写Object类中的toString()方法,则返回的仍然是地址值
- ⑤ 如果重写的话,重写的规则:返回当前对象的属性信息

面向对象之包装类与Object类的更多相关文章
- JS面向对象(3) -- Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...
- 包装类、Object类——Java笔记(八)
包装类: 基本数据类型的包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char Character float ...
- 面向对象高级——Object类、包装类以及匿名内部类
Object类 知识点:掌握Object类的作用.掌握Object类中toString().equal()方法的作用 ,掌握Object接收引用数据类型的操作. 假设一个类在定义时没有明白指明继承哪 ...
- Java基础之Java常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类
Java是一种面向对象的语言,也就是将万事万物可以描述为对象,特点如下: 1.面向对象是常见的一种思考习惯,符合人们的思考习惯.2.面向对象的出现,将复杂的事情简单化.3.面向对象的出现,将之前过程中 ...
- (1)Object类 (2)包装类和数学处理类 (3)String类
1.Object类1.1 基本概念 java.lang.Object类是Java类层次结构的根类,任何类都是Object类的直接/间接子类. 1.2 常用的方法(重点) Object() - 无参构造 ...
- Java.lang 包 (包装类、String类、Math类、Class类、Object类)
Java 的核心 API(Application Programming Interface)是非常庞大的,这给开发者带来了很大的方便. java.lang 包是 Java 的核心类库,它包含了运行 ...
- Object类和包装类的一些方法
一.instanceof关键字的使用: a instanceof A:判断对象a是否是类A的实例.如果是,返回true:如果不是,返回false. 使用场景:为了避免在向下转型时出现ClassCast ...
- 面向对象编程(九)——面向对象三大特性之继承以及重写、Object类的介绍
面向对象三大特性 面向对象三大特征:继承 :封装/隐藏 :多态(为了适应需求的多种变化,使代码变得更加通用!) 封装:主要实现了隐藏细节,对用户提供访问接口,无需关心方法的具体实现. 继承:很好的实现 ...
- Object类、包装类、内部类详解
1.Object类 1.概念: 1.1 所有类在创建时都默认继承了java.lang.Object 1.2 所有类对象都可以声明为类对象的引用 Object ob1=new String(); Obj ...
随机推荐
- Java小白集合源码的学习系列:LinkedList
目录 LinkedList 源码学习 LinkedList继承体系 LinkedList核心源码 Deque相关操作 总结 LinkedList 源码学习 前文传送门:Java小白集合源码的学习系列: ...
- 12.Android-SQLiteOpenHelper使用
1.SQLite介绍 SQLite,是一款轻型的数据库,它的优缺点有如下: 轻量级,适合嵌入式设备,并且本身不依赖第三方的软件,使用它也不需要“安装”. 并发(包括多进程和多线程)读写方面的性能不太理 ...
- Linux系统上安装配置MAVEN
1,下载maven 首先进入maven下载目录:http://maven.apache.org/download.cgi 2,上传maven到linux系统 以下操作路径都是本人习惯,目录可以随意更改 ...
- 一道简单到爆 Java面试题,居然挂了一票人
很多时候bug往往都是出在,我们觉得非常简单,不起眼的基础知识上 年前公司最后一波招人,为年后项目做技术储备,主要招聘对象初中级Java开发,要求也并没有多苛刻,唯一一点基础稍好,快速上手做项目就行. ...
- 如何选择kmeans中的k值——肘部法则–Elbow Method和轮廓系数–Silhouette Coefficient
肘部法则–Elbow Method 我们知道k-means是以最小化样本与质点平方误差作为目标函数,将每个簇的质点与簇内样本点的平方距离误差和称为畸变程度(distortions),那么,对于一个簇, ...
- Djaingo 随机生成验证码(PIL)
基础: https://www.cnblogs.com/wupeiqi/articles/5812291.html 实例: https://www.cnblogs.com/6324TV/p/88112 ...
- 【WPF学习】第十七章 键盘输入
当用户按下键盘上的一个键时,就会发生一系列事件.下表根据他们的发生顺序列出了这些事件: 表 所有元素的键盘事件(按顺序) 键盘处理永远不会像上面看到的这么简单.一些控件可能会挂起这些事件中的某些事件, ...
- List自定义排序 (例子省份排序)
//待排序集合 List<String> list=new ArrayList<String>(); list.add("辽宁"); list.add(&q ...
- .net core 常见设计模式-IChangeToken
场景 一个对象A,希望它的某些状态在发生改变时通知到B(或C.D),常见的做法是在A中定义一个事件(或直接用委托),当状态改变时A去触发这个事件.而B直接订阅这个事件 这种设计有点问题B由于要订阅A的 ...
- Docker和Kubernetes
Docker和Kubernetes Docker Docker是一个容器的开放平台,但它不是最早的.自20世纪70年代以来,容器平台一直存在.他们的开发可以追溯到Unix中的chroot系统调用.在2 ...