ZKX's LAB

java 在引用类型赋值的时候怎么能不给地址?直接赋值呢? java中引用类型赋值时 复制的是什么

2020-10-18知识35

java里String类型可以直接赋值,保存的是值还是引用的地址? 先给你一个2113在博客园看到的说明问题1我声明了什么!5261String s=\"Hello world。许多人都做4102过这样的事情,但是,我们到底声明1653了什么?回答通常是:一个String,内容是“Hello world。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向\"Hello world。这个String类型的对象。这就是真正发生的事情。我们并没有声明一个String对象,我们只是声明了一个只能指向String对象的引用变量。所以,如果在刚才那句语句后面,如果再运行一句:String string=s;我们是声明了另外一个只能指向String对象的引用,名为string,并没有第二个对象产生,string还是指向原来那个对象,也就是,和s指向同一个对象。我的理解:字符串的底层真实实现,还是和C一样,用的数组来存储多个char类型的字符,所以可以理解成声明一个数组,因为数组是多个内存地址的集合,你想想,那么多地址,如果是直接赋值,该存哪个地址哇?暂时这么多,还要需要欢迎提问

java中string类是引用类型吗? 在Java中,数组和String字符串都不是基本数据类型,它们被当作类来处理,是引用数据类型。引用类型(reference type)指向一个对象,不是原始值,指向对象的变量是引用变量。

java里String类型可以直接赋值,保存的是值还是引用的地址? 首先告诉你,java里的String类型保存的就是引用地址,就像你下面说的,如果用String a=\"你好\"这种方式赋值的话,a里会保存一个地址,双引号字符串是常量字符串,在java文件。

java 在引用类型赋值的时候怎么能不给地址?直接赋值呢? Java中的引用类2113型5261类似于指针,基本类型可以直接赋值,而4102引用类型是将引用指向一块内存1653。比如:Person p=new Person();我们都知道在Java中new的东西会在内存中开辟一块内存,左边是指向这块内存的引用。我理解中你说的直接赋值应该是类似于:int i=1;double b=2;boolean a=false;这种是因为他们是基本类型,不算是一个对象。曾经在一本书上看到过,如果Java直接舍弃这些基本类型,可能会是一门更加纯粹的OOP语言。

Java 中对引用类型的变量赋值是原子操作吗

#对象数组#数组#string#赋值语句#赋值

随机阅读

qrcode
访问手机版