Object类是java默认提供的一个类,除了这个类,其他所有的类都是存在有继承关系的。 那么默认会继承Object父类
所以在开发之中Object类是参数的最高统一类型 所有子类构造实例化都要调用父类中的无参构造方法
包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址;基本类型不是
包装类型是引用的传递;基本类型是值的传递
声明方式不同:
基本数据类型不需要new关键字;
包装类型需要new在堆内存中进行new来分配内存空间
存储位置不同:
基本数据类型直接将值保存在值栈中;
包装类型是吧对象放在堆中,然后通过对象的引用来调用他们
初始值不同:
int的初始值为0、Boolean初始值为false
包装类初始值为null
使用方式不同:
基本数据类型直接赋值使用就行;
包装类型是在集合如coolectionMap时使用
interface IMessage100{ } class MessageImpl100 implements IMessage100{ public String toSting(){//Object类的方法 return "www.aka.vom"; } } public class Test18 { public static void main(String[] args) { // //利用Object接收数组对象,都行向上转型 // Object obj = new int[]{1,2,3}; // //向下转型,需要强制类型 // int data[] = (int[]) obj; // for (int x = 0; x < data.length ; x++) { // System.out.println(data[x]); // } IMessage100 msg = new MessageImpl100();//子类向父接口转型 Object obj = msg; //接口向Object转型 System.out.println(obj); IMessage100 temp = (IMessage100) obj; } }
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wX1Z4RZT-1633234240908)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210924144613977.png)]
//包装类:指的就是将基本数据类型封装在一个类中 class MyInt{//MyInt实际上是int数据类型的一个包装类,利用MyInt可实现基本数据类型变为对象的需求 private int num; public MyInt(int num){ this.num = num; } public int intValue(){ return this.num; } } public class Test19 { public static void main(String[] args) { //子类对象自动变为Object父类对象 Object obj = new MyInt(10); MyInt temp = (MyInt)obj; //取出内容需向下转型 System.out.println(temp.intValue() * 2); //取出里面的基本数据类型操作 } }
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ykk6bDR5-1633234240909)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210924144722141.png)]
public class Test20 { public static void main(String[] args) { //手工装箱拆箱方法jdk1.5之后提供自动方法进行数学类计算 Integer num = new Integer(10);//装箱 int x = num.intValue(); //拆箱 System.out.println(x * 2); //自动装箱 Integer y = 10; System.out.println(++y * 2); System.out.println("-*******************************"); String str = "123"; //字符串 int num1 = Integer.parseInt(str); //字符串变为基本类型 System.out.println(num1 * 2); } }
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yxYfsQqC-1633234240910)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210924144627145.png)]
//字符串变为基本类型
System.out.println(num1 * 2);
}
}
[外链图片转存中...(img-yxYfsQqC-1633234240910)]