Object类

java.lang.Object类

. Object 类是所有java类的根父类
. 如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类 . Object类中的功能(方法与属性)具有通用性 属性: 无
方法: equals() toString() getClass().....

包装类

什么是包装类?为什么需要包装类? 这是大家要了解的

对于java中的基本数据类型我们如果想要把当当做类来使用怎么办呢? 如果想要对这些基本数据类型直接调用一些方法来操作的话 怎么做呢?

由以上就产生了Wrapper包装类(这在python中叫装饰器)

包装类作用:

java提供了8种基本数据类型的对应的包装类, 使得基本数据类型的变量有了类的特征
掌握:基本数据类型

1: 是针对八种基本数据类型定义的相应的引用数据类型---包装类(封装类)
2: 有了类的特征就可以调用类的方法
3: 我们希望java的基本数据类型也有java面向对象的特殊所以定义了 包装类 把基本数据类型的特殊都封装在对应的类中

基本数据---->Wrapper

基本数据类型转化为包装类:调用包装类的构造器

    //  基本数据转化为Wrapper  :  直接调用包装类的构造器即可
public void testOne() {
int num1 = 10;
Integer integer = new Integer(num1);
System.out.println("基本数据转化为包装类的结果:" + integer); Float f = new Float(3.5);
System.out.println(f);
}

Wrapper ---> 基本数据

Wrapper 转化为基本数据类型: 调用Wrapper包装类的  XXValue()方法

  //Wrapper 转化为 基本数据 : 直接调用XXValue() 方法
public void WrapperToBasic() {
Integer integer = new Integer(34);
int num = integer.intValue();
System.out.println("Wrapper--->基本数据:"+num); Float f = new Float(4.6f);
float fl = f.floatValue();
System.out.println("Float ----> 基本数据类型:"+fl);
}

基本数据,Wrapper----> String

基本数据和包装类转化为String : 调用String重载的valueOf()方法

 //基本数据,Wrapper ---> String : 基本数据和包装类转化为String 直接调用String的valueOf()方法
public void basicWrapperToString() {
//方法一直接转化
int num = 10;
System.out.println("这是num" + num); //直接加减 //方法二调用String的valueOf()
int num1 = 20;
String strNum1 = String.valueOf(num1);
System.out.println("基本数据转化为String:"+strNum1); Integer integer = new Integer(35);
String strInteger = String.valueOf(integer); }

String ---> 基本数据类型,Wrapper

String 转化为基本数据类型和包装类 需要调用包装类的parseXX()方法

    //String ---> 基本数据,Wrapper : 调用包装类的paseXX
public void StringToBsicsWrapper() {
String str = "123"; //必须是转化的对应类型的字符, 转为int那么久必须是字符串类型的int
Integer integerStr = Integer.parseInt(str);
System.out.println(integerStr);
}

错误的

   public void StringToBsicsWrapper() {
String str = "老王";
Integer integerStr = Integer.parseInt(str); //这样是错误的 因为你要转化为int那么String就要是字符串类型的int "123"
System.out.println(integerStr);
}

装箱子:

    //装箱子:  转化为String
//需要先把对应的信息转化为包装类 有了类的特征就可以调用类的方法了
public void pack(){
int num = ;
Integer integer = new Integer(num);
String str = integer.toString();
System.out.println("pack:"+str); }
转化 方法 演示
基本数据转为Wrapper 直接调用Wrapper的构造器 Integer in= new  Integer(30);
Wrapper--->基本数据类型 调用包装类的XXXValue()方法
Integer integer = new Integer(34);
int num = integer.intValue();
基本数据,Wrapper--->String 调用String的valueOf()方法
int num1 = 20;
String strNum1 = String.valueOf(num1);
String----->基本数据,Wrapper 调用包装类的paseXX()方法
String str = "123";   
Integer integerStr = Integer.parseInt(str);

习题:

如下两个题目输出结果相同吗?各是什么:

1:

Object o1 = true ? new Integer() : new Double(2.0);
System.out.println(o1);//

2:

public void test() {
Object o2;
if (true)
o2 = new Integer();
else
o2 = new Double(2.0);
System.out.println(o2);//
}

3:

 public void method1() {
Integer i = new Integer();
Integer j = new Integer();
System.out.println(i == j);
Integer m = ;
Integer n = ;
System.out.println(m == n);
Integer x = ;
Integer y = ;
System.out.println(x == y);
}

解答:

习题1: 答案是:1.0 因为  // 因为在编译的时候int 和dubbo会自动对类型提升为dubbo的 所以结果是1.0
习题2: 答案: 因为没有进行对比只是赋值
习题3: a: //false == 比引用地址 是否同一个对象 不是的
b://true
c:// false 因为Internet会把使用频繁的数字存到自己的地址值中 方便我们来调用避免重复调用,-128 ---- 127 这个范围内的 都是调用integer中的保存的都是同一个地址值 超过这个范围就不是同一个自地址值就是新建的了

3:知识点:

    Integer内部定义了IntegerCache的结构 IntegerCache中定义了Integer[],
保存了从- --- 127范围的整数,如果我们使用自动装箱的方式给Inte赋值的范围在
- -- 的范围内时候就可以直接使用数组中的元素 不用去new了

.

java Wrapper包装类的更多相关文章

  1. 浅谈Java的包装类

    一.什么是Java包装类 所谓Java包装类,就是将Java中的8种基本数据类型分别包装成为类的形式.包装类与基本数据类型的对应关系如下表所示. 基本数据类型 包装类 byte Byte short ...

  2. Java开发知识之Java的包装类

    Java开发知识之Java的包装类 一丶什么是包装类 包装类的意思就是对基本数据类型封装成一个类.这些类都是Number的子类.区别就是封装数据类型不同.包含的方法基本相同. 具体可以查询JAVA A ...

  3. [java初探09]__关于java的包装类

    前言 在Java语言的学习过程中,我们逐渐的理解了Java面向对象的思想,与类和对象的应用.但是在基本数据类型的使用上,我们无法将其定义为一个对象,通过使用对象的方法来使用它们,但是Java语言的思想 ...

  4. Java学习——包装类

    Java学习——包装类 摘要:本文主要介绍了Java中常用的包装类和基本类型之间的转换,包装类或基本类型和String之间的转换. 部分内容来自以下博客: https://www.cnblogs.co ...

  5. 小白学Java:包装类

    目录 小白学Java:包装类 包装类的继承关系 创建包装类实例 自动装箱与拆箱 自动装箱 自动拆箱 包装类型的比较 "=="比较 equals比较 自动装箱与拆箱引发的弊端 自动装 ...

  6. Java:包装类小记

    Java:包装类 对 Java 中的 包装类 这个概念,做一个微不足道的小小小小记 基本数据&包装类 四类八种基本数据类型: 数据类型 关键字 内存占用 取值范围 字节型 byte 1个字节 ...

  7. Java api 入门教程 之 JAVA的包装类

    Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...

  8. JAVA的包装类 【转】

    Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...

  9. java的包装类(转)

    Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...

随机推荐

  1. Python学习笔记二--函数

    1.使用global语句定义全局变量 2.默认参数 默认参数值应该是不可变的.注意: 只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的 ...

  2. [MAC]配置Jenkins 开机自启动

    如果是将jenkins.war放在tomcat中运行的, 则可以配置开机启动tomcat,脚本如下: XXX表示是你安装Tomcat所在目录 #启动tomcat cd XXX/Tomcat8/bin ...

  3. UIsearchBar 自定义样式

    对于修改输入框圆角 的需求, 可以通过修改搜索框背景图片的方式设置. - (void)setSearchFieldBackgroundImage:(nullable UIImage *)backgro ...

  4. java方法调用及传参

    静态方法:有static修饰的方法. 非静态方法:没有static修饰的方法. 方法调用: 一静态方法调用 静态方法/属性 1)一个类:直接调用. 2)不同类/不同文件: a: 类名.属性名/方法名 ...

  5. js中浅谈this对象(未补充完整)

    什么是this? 1.javascript语言中,一切皆为对象(除了 undefined 和 null 之外),运行环境也是对象,所以函数都是在某个对象之中运行,this就是这个对象(环境). 2.t ...

  6. Java原理领悟-线程池(Executor)

    线程池全面解析 什么是线程池? 很简单,简单看名字就知道是装有线程的池子,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程的复用. 线程池的好处 我 ...

  7. 全局唯一iD的生成 雪花算法详解及其他用法

    一.介绍 雪花算法的原始版本是scala版,用于生成分布式ID(纯数字,时间顺序),订单编号等. 自增ID:对于数据敏感场景不宜使用,且不适合于分布式场景.GUID:采用无意义字符串,数据量增大时造成 ...

  8. C#反射的实现

    一,什么是反射? 1,System.Reflection 命名空间中的类与 System.Type 使你能够获取有关加载的程序集和其中定义的类型的信息,如类.接口和值类型. 可以使用反射在运行时创建. ...

  9. Python3学习笔记(MOOC)

    文本进度条实例 #!/usr/bin/env python3 import time #for i in range(101): # print ("\r{:3.0f}%".for ...

  10. GitHub托管代码-学习笔记

    1.注册github账号 https://github.com/ 2.下载GitHub Desktop软件 https://desktop.github.com/ 在下载的软件上登陆GitHub账户 ...