请问大神 java中 类类型的变量 这句话怎么理解 什么是类类型的变量 自定义类属于引用数据类型吗

望指点迷津不胜感激... 望指点迷津 不胜感激 展开
 我来答
白卡PALA
2017-02-28 · 知道合伙人软件行家
白卡PALA
知道合伙人软件行家
采纳数:648 获赞数:3420
性能测试4年工作经验。

向TA提问 私信TA
展开全部

类类型变量并不是简单的将赋的值存储于命名对象中,而是将地址存放于类类型变量中。所以类类型变量之间的赋值语句赋值的是内存地址,赋值后两个变量指向同一地址。

看下面的例子:

public class StringTest { 
    private String str; 
    public String getStr() { 
        return str; 
    } 
    public void setStr(String str) { 
        this.str = str; 
    } 
    public static void main(String[] args) { 
        StringTest str1=new StringTest(); 
        StringTest str2=new StringTest(); 
        str1.setStr("111111"); 
        str2.setStr("222222"); 
        //类类型之间的赋值,是将str1的内存地址赋值给了str2,赋值后它俩指向了同一内存地址 
        str2=str1; 
        str2.setStr("333333"); 
        System.out.println(str1.getStr());      //输出结果为333333 
        System.out.println(str2.getStr());      //输出结果为333333 
    } 
}

str2=str1之后,两个类实例的变量指向同一个内存地址,如果一个变量改变了,另一个也会改变。

想要理解,建议详细看下java的对象引用对象传递以及堆栈原理。

另外自定义类的确属于引用数据类型。除了八种基本数据类型,其他的都算是引用数据类型。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式