引用变量
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
你已经知道要如何声明数据类型变量并赋值给它。但非数据类型的变量又该如何处理呢?换句话说,对象要怎么处理?
- 事实上没有对象变量这样的东西存在。
- 只有引用到对象的变量。
- 对象引用变量保存的是存取对象的方法。
- 它并不是对象的容器,而是类似指向对象的指针。或者可以说是地址。但在Java中我们不会也不该知道引用变量中实际装载的是什么,它只是用来代表单一的对象。只有Java虚拟机才会知道如何使用引用来取得该对象。
你无法将对象装进变量中。我们通常会认为说:“我把一个String传入System.out.println()这个方法中”,或者“此方法会返回一个Dog对象”,又或是“我将新创建的Foo对象放进myFoo这个变量中”。 实际情况并不是这样。并没有超巨型的杯子可以放大到能够装载所有的对象。对象只会存在于可回收垃圾的堆上!(本章稍后会有更多的说明)。
虽然数据类型变量是以字节来代表实际的变量值,但对象引用变量却是以字节来表示取得对象的方法。你会使用圆点运算符(.)来对引用变量表示:“取得圆点前面的对象,然后求出该对象在圆点后面的事物”。举例来说:
myDog.bark();
代表名为myDog的变量引用对象上的bark()。你可以把它想成遥控器与上面的按钮。你可以通过它来执行工作。
在线练习
{$ activeFileHint $}