• JAVA 基本类型变量和引用类型变量


    一休:愚公,我又有困惑了。

    愚公:说说看。

    一休:我知道Java有8种基本类型,又发现对应有8个包装类(Warper),它们起到的作用是相同的,都表示一种类型的数。于是我就随手编了一句:

    int i=Ineger(8);

    结果编译出错了。

    愚公:编程不能想当然。Java的面向对象的原则是数据和数据之上的操作要绑定在一起,这就是类,即引用数据类型。因此,类也是一种类型。Java本来可以不设置基本类型,只是为了提高操作效率,才设置了基本类型。基本类型和引用类型的最主要区别是:

    基本类型的变量名是变量本身。

    引用类型变量的名字是复杂数据的存储地点。

    这两种类型的对应存储方式如图6所示。


     

    一休:这个问题我明白一点的,例如基本类型表示简单数据,引用类型表示复杂数据。

    愚公:那你举个例子看看。

    一休:比如说,多少钱、多长、多高等这些简单的数据就可以用基本类型表示。较复杂的事物,就用引用类型表示,如汽车、动物等,这些事物包含很多特性和行为,也就是属性和操作。

    愚公:可以这样理解。关于对象,有很多概念需要理解清楚。例如,下面的声明:

    String s="Hello world!";

    许多人都写过这样的语句,但是,我们到底声明了什么呢?一休,你回答一下。

    一休:声明了一个String对象,内容是"Hello world!"。

    愚公:这样的回答还是比较模糊,准确的回答是这个语句创建了一个字符串对象,另外它声明了一个指向对象的引用,名为s。它可以指向类型为String的任何对象,目前指向"Hello world!"这个String类型的对象。

    一休:也就是说,我们声明了一个只能指向String对象的引用变量s,并且将s指向了字符串对象"Hello world!"。

    愚公:是的,如果在刚才的语句后面再补充一句代码:

    String string=s;

    是不是又声明了一个新的对象呢?

    一休:是的,声明了一个新的对象string。

    愚公:不对,我们是声明了另外一个指向String对象的引用,名为string,并没有第二个对象产生,string还是指向原来的对象,也就是和s指向同一个对象。String类要弄清楚,因为这个类弄清楚了,许多类就好理解了。

    一休:String类这么重要吗?

    愚公:是的,因为这个类使用的频率很高,包含许多定制好的属性和方法,我们可以直接使用,而且这个类是final类,我们不能继承它,也不能继承和利用多态性修改它的方法。
    一休:那我今后一定好好研究它!

  • 相关阅读:
    C#中两数相除为0的原因
    Keil STM32F4xx_DFP.1.0.8.pack下载链接
    LabVIEW入门第九天(数组和簇)
    C#执行文件抛出异常方法
    C#中两数相除为0的原因
    C#判断文件夹路径是否存在并新建
    C#窗体程序随电脑分辨率自动调整大小
    C#判断文件夹路径是否存在并新建
    C#窗体程序随电脑分辨率自动调整大小
    VisualTreeHelper使用之ListBox模板DataTemplate中CheckBox选中项(WP7.1)
  • 原文地址:https://www.cnblogs.com/wzsblogs/p/4533176.html
Copyright © 2020-2023  润新知