11 Object类和包装类

目录

11.1 Object类

11.2Object类中的方法

11.2 包装类


11.1 Object类

java中所有类的父类 如果一个类没有指定父类,默认继承Object 类

  • Object o = 任何对象 不包括8种基本类型

  • Object类中定义的方法是所有java对象都具有的方法(public 或是protected)

11.2Object类中的方法

方法名作用用法
getClass()获得对象的实际类型o1.getClass()==o2.getClass() 判断o1和o2类型是否相同
finalize()对象被垃圾回收时调用对象的全生命周期里最后一个方法就是finalize() ,没有什么用
toString()返回对象的字符串形式System.out.println(o)打印o就是打印o.toString()
equals判断两个内容是否相同o1.equals(o2)判断o1和o2内容是否相同

getClass() 获得对象的实际类型

instanceof 判断对象是不是某一类型

垃圾自动收集:由JVM中的垃圾收集器自动回收垃圾对象,释放对应的堆空间

问:什么对象会被认为是垃圾对象?

零应用算法 如果一个对象没有任何引用指向它,则这个对象就是垃圾对象

问:垃圾对象何时被回收?

不得不回收时,内存耗尽,无法创建新对象时

public String toString(){}

返回对象的字符串形式

打印一个对象,打印出来的就是 对象toStrinh()方法的返回值String

可以在子类中覆盖toString()方法,实现特殊的对象字符串形式

 

public boolean eequals(Object o)

引用之间用==判断,判断的是地址是否相同

s1==s2 为true 说明s1和s2指向同一个对象

引用之间用equals判断,判断的是内容是否相同

s1.equals(s2)为true,说明s1和s2内容相同

Object类中的equals方法,依然比较两个对象的地址

如果需要比较内容,需要在子类中覆盖

   
 //this 和 o 对象比较内容
    public boolean equals(Object o){
        //判断this和o是不是同一个对象
        if(this==o)return true;
        //判断o是不是null
        if (o==null)return false;
        //判断this 和 o 是否属于同一个类
        if(this.getClass()!=o.getClass())return false;
        //对o做强制类型转换,变为Employee类型
        Employee e=(Employee)o;
        //逐个比较属性   基本类型属性用==比,对象类型属性用equals比
        if(this.age == e.age &&this.name.equals(e.name))return true;
        else return false;

11.2 包装类

为8种基本数据类型 各自提供一个类

所有的基本类型数据,就拥有了对应的对象形式

Obbject o=任何数据

基本类型对应的包装类
intInteger
charCharacter
byteByte
booleanBoolean
doubleDoouble
shortShort
longLong
floatFloat
  • 基本类型和包装类之间的转换

    • int---->Integer

      Integer.valueOf(i);获得一个Integer对象

      Integer类内部会预先创建-128-127 256个对象,如果在这个区间内,不会产生新对象

    • Integer---->int

      a.intValue();

    • jdk5 自动封箱,自动解箱 由编译器自动处理基本类型和包装类之间的转换

  • 基本类型和Sring之间的转换

    • int------>String

      int i =12; String s = i+ ""; 或者 String s =String.value.valueof(i);

    • String------>int()

      String s="1234";  
      int i = Integer.parsenInt(s);

  • 包装类和String之间的转换

    • Integer----->String

    Integer a =1234; String s =a.toString();

    • String---->Integer

      String s="1234";Integer a =Integer.valueof(s);

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值