Java基础学习13

2021/10/3 17:41:04

本文主要是介绍Java基础学习13,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Object类是java默认提供的一个类,除了这个类,其他所有的类都是存在有继承关系的。
 那么默认会继承Object父类
所以在开发之中Object类是参数的最高统一类型
所有子类构造实例化都要调用父类中的无参构造方法
  1. 包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址;基本类型不是

  2. 包装类型是引用的传递;基本类型是值的传递

  3. 声明方式不同:

    ​ 基本数据类型不需要new关键字;

    ​ 包装类型需要new在堆内存中进行new来分配内存空间

  4. 存储位置不同:

    ​ 基本数据类型直接将值保存在值栈中;

    ​ 包装类型是吧对象放在堆中,然后通过对象的引用来调用他们

  5. 初始值不同:

    ​ int的初始值为0、Boolean初始值为false

    ​ 包装类初始值为null

  6. 使用方式不同:

    ​ 基本数据类型直接赋值使用就行;

    ​ 包装类型是在集合如coolectionMap时使用

img

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)]



这篇关于Java基础学习13的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程