赞
踩
目录
String类:final修饰的类,内部存储的value数值对外不可见,外部无法直接使用,无法修改内容,字符串字面量直接赋值常量池。
Object类:是所有类的默认父类(不需要extends显示继承,除private外object类的所有方法所有类对象都可以使用)
toString():将任意对象转为字符串输出,打印对象内容
System.out.println()接受任意对象的输出,就是调用这个方法
集合类
(1)双击shift键
然后输入object
然后点击class,在下面可以看到Object java.lang,点击
点击右下方的structrue(可以看到所有的方法、属性、内部类声明)
绿色的锁都是public方法
带钥匙的是继承访问权限protected
红色的锁是私有访问权限private
1.1toString()方法
默认返回包名.类名+调用对象的hashCoded()对象转为整型输出
如果要输出属性值,自己想输出的东西,就要写toString方法(快捷键ctrl+A)
覆写自己的String方法,直接在idea输入toString即可
再次执行则会显示覆写后的方法
1.2equals方法
此时student默认使用的是Object提供的equals()方法,比较的是地址
有new就有新空间,所以他俩不是一个地址,返回false
若需要student类按照属性值比较,就需要覆写equals()方法
所有类都可以向上转型变为Object
java中对Object做了扩充,Object不仅是所有类的父类,且只要是引用数据类型,都可以向上转型变为Object,包括数组和接口,(基本数据类型不行)
Object可以接收所有引用数据类型,如果我们设计的方法需要接收所有引用数据类型,类型的声明为Object,为了让Object接收一切内容,把基本类型封装成类,也就是包装类
2.包装类:将八大基本类型封装成类
第一类对象型包装类(Object类的直接子类)
Boolean(布尔) Character(char)
第二类数值型包装类(Number类的直接子类)
byte short Interger(int) Long Float Double(如下)
2.1 装箱与拆箱:
装箱:将基本数据类型变为包装类
拆箱:将包装类对象中的数值还原为基本数据类型
2.2对于包装类与基本数据类型的不同:
1.基本数据类型默认值是数值
2.包装类默认值为null
阿里编码中:在类中1定义的成员变量必须使用包装类声明,在方法中大量进行算数运算,使用基本类型
2.3易错考点:
关于包装类的对象的比较,使用equals!!!所有类对象的比较都使用equals
对于包装类而言,以int 为例,自动装箱时,JVM会创建一个缓存处理,对于[-128,127]的取值,Interger会缓存(类比String常量池)
Integer i1 =10;//第一次出现,创建对象进入常量池 Integer i2 =10;//第二次出现,复用上面的对象 System.out.println(i1==i2);//这里有可能是真,有可能是假 System.out.println(i1.equals(i2));//所以一定要这样写
2.4包装类与String类的相互转换
把String类变为包装类(可能会报错):parseInt(str) (Int可以变为其他类型)
会报错(类型转换异常)
包装类转为String类:String.vauleOf()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。