美文网首页
JAVA之引用类型

JAVA之引用类型

作者: 每天进步一点点变成更好的自己 | 来源:发表于2022-08-29 08:09 被阅读0次

    java中数据类型分为基本数据类型和引用数据类型。

    1、引用数据类型

    java中的数据类型分为基本数据类型和引用数据类型。
    基本数据类型比如int、float、long等。

    2、引用数据类型和基本数据类型

    • 引用数据类型和基本数据类型的相同点
      1、都可以用来创建变量,可以赋值和使用其值
      2、本身都是一个地址
    • 引用数据类型和基本数据类型的不同点
      1、基本类型变量的值,就是地址对应的值。
      2、引用数据类型的值还是一个地址,需要通过二级跳找到实例。
      3、引用数据类型是java的一种内部类型,是对所有自定义类型和数组引用的统称,并非特指某种类型

    3、 java有一个的大大的布告板,放着所有的实例

    Merchandise m1=new Merchandise ();使用new操作符可以创建某个类的一个实例。
    在运行的时候,所有这些创建出来的实例都被java放在内存里,一个叫做堆(heap)的、类似公告板的地方。

    • 创建一个实例,就是根据类的定义,点出需要的纸,订成一个小本子,挂在布告板上。实例本身,可以认为是一个小本子。
    • 引用里存放的,相当于某个本子所在的布告板的地址。

    比如引用类型如下:

    {
        public static void main(String[] args){
            // >> TODO m1 是Merchandise类型,只能指向Merchandise的实例
            //>> TODO 引用数据类型变量包含2部分类型:类型和实例。
            // TODO 每一个引用数据类型的变量(简称引用),都是指向某个类(class 、自定义类型)的一个实例/对象。不同类型的引用在java的世界里都是引用。
            // >> TODO 引用的类型信息在创建时已经确定,可以通过给引用赋值,让其指向不同的实例。
            //比如 m1 是Merchandise类型,只能指向Merchandise的实例。
            Merchandise m1;
            m1= new Merchandise();
            Merchandise m2 = new Merchandise();
            Merchandise m3 = new Merchandise();
            Merchandise m4 = new Merchandise();
            Merchandise m5 = new Merchandise();
            // >> TODO 给一个引用赋值,则两者的类型必须一样。m5可以给m1赋值,因为他们类型是一样的。
            m1 = m5 ;
            System.out.println("m1="+m1);
            System.out.println("m1="+m2);
            System.out.println("m1="+m3);
            System.out.println("m1="+m4);
            System.out.println("m1="+m5);
        }
    }
    

    引用数据类型输出的是一个地址,返回结果内容如下:

    m1=Merchandise@1b6d3586
    m2=Merchandise@4554617c
    m3=Merchandise@74a14482
    m4=Merchandise@1540e19d
    m5=Merchandise@1b6d3586
    

    4、类、对象和引用的关系

    • 类和对象的关系:
      类是对象的模板,对象是类的一个实例
      一个java程序中类名相同的类只能有一个,也就是类型不会重名
      一个类可以有很多对象
      一个对象只能根据一个类来创建
    • 引用和类以及对象的关系
      引用必须是、只能是一个类的引用
      引用只能指向其所属的类型的类的对象
      相同类型的引用之间可以赋值
      只能通过指向一个对象的引用,来操作一个对象,比如访问某个成员变量

    相关文章

      网友评论

          本文标题:JAVA之引用类型

          本文链接:https://www.haomeiwen.com/subject/rkfhkrtx.html