zoukankan      html  css  js  c++  java
  • Java中引用类型变量,对象,值类型,值传递,引用传递 区别与定义

    一.Java中什么叫做引用类型变量?

    引用:就是按内存地址查询
       
        比如:String s = new String();这个其实是在栈内存里分配一块内存空间为s,在堆内存里

    new了一个String类型的空间,在运行时是 栈内存里的 s 指向堆内存里的那一块存储空间


        基本数据类类型存的是数值本身,而引用类型变量在内存放的是数据的引用,并不是数据的本身,

    引用类型变量是以间接方式去获取数据。

        引用类型变量都属于对象类型,如:数组、类、字符串等都属于引用类型变量。所以,引用类型

    变量里面存放的是数据的地址。

        说白了基本数据类型变量就像是直接放在柜子里的东西,而引用数据类型变量就是这个柜子对应编码

    的钥匙。钥匙号和柜子对应。





    二.java中引用类型的变量和对象的区别?

    对象:是按照“类”这个模板建立的,建立的位置则是内存

    例如A是一个类。A X则是创建一个引用变量,X=NEW A()则是在内存中建立一个对象(开辟了1片空间)

    ,对象的模板就是A(可以理解为在空间里复制了A类里的变量到空间里去)。此时就可以使用引用变量X

    去引用对象中的变量了



    三.值类型和引用类型的区别?

    [定义]

    引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变

    这个变量的值,那么调用这个方法是传入的变量的值也将改变.值类型表示复制一个当前变量传给方法,


    [值类型]

    也就是基本数据类型 基本数据类型常被称为四类八种

    四类:  

     1,整型 2,浮点型 3,字符型4,逻辑型

    八种:   

             1,整型3种 byte,short,int,long

             2,浮点型2种 float,double

             3,字符型1种 char

             4,逻辑型1种 boolean


    [引用类型]

    除了四类八种基本类型外,所有的类型都称为引用类型(数组,类,接口,字符串)



    [值传递]    

    基本数据类型赋值都属于值传递,值传递传递的是实实在在的变量值,是传递原参数的拷贝,值传递后,实参

    传递给形参的值,形参发生改变而不影响实参。


    [引用传递]

    引用类型之间赋值属于引用传递。引用传递传递的是对象的引用地址,也就是它的本身(自己最通俗的理解)。

    引用传递:传的是地址,就是将实参的地址传递给形参,形参改变了,实参当然被改变了,因为他们指向相同的地址。

    引用和我们的指针差不多,但是它不又不需要我们去具体的操作


     [内存分配]

    一个具有值类型(value type)的数据存放在栈内的一个变量中。即是在栈中分配内存空间,直接存储所包

    含的值,其值就代表数据本身。

    值类型的数据具有较快的存取速度。

    一个具有引用类型(reference type)的数据并不驻留在栈中,而是存储于堆中。即是在堆中分配内存空间,

    不直接存储所包含的值,而是指向所要存储的值,其值代表的是所指向的地址。当访问一个具有引用类型的

    数据时,需要到栈中检查变量的内容,该变量引用堆中的一个实际数据。引用类型的数据比值类型的数据具

    有更大的存储规模和较低的访问速度。



    Java中有垃圾回收机制,栈内存中的变量随着方法的结束内存自然销毁了,而用引用类型的时候,当方法结,

    束的时候,这个对象可能被另一个引用类型所应用,不会销毁,只有当一个对象


  • 相关阅读:
    jquery.roundabout.js图片叠加3D旋转插件多功能图片翻转切换效果
    jquery.SuperSlide.js只需要调用一个插件就能实现网页大部分特效--推荐
    很不错的JS插件大全
    kxbdSuperMarquee.js滚动的神器-推荐
    琅琊榜
    三国群英2专题
    css中为了清除浮动经常用到的after样式
    非常简单的升级phpnow自带的php版本到5.3的方法
    手机访问网站如何自动跳转到手机版本自动转到手机网站
    php中几个字符串替换函数详解
  • 原文地址:https://www.cnblogs.com/yuguangblog/p/6134796.html
Copyright © 2011-2022 走看看