日期:2014-05-20  浏览次数:20594 次

一个新手的疑惑之类对象引用的关系
Vehicle veh1; 
veh1 = new Vehicle();
有人把类,对象以及引用做一个这样的比喻:
对象好比是一只很大的气球,大到我们抓不住它。引用变量是一根绳, 可以用来系汽球。 
  如果只执行了第一条语句,还没执行第二条,此时创建的引用变量veh1还没指向任何一个对象,它的值是null。引用变量可以指向某个对象,或者为null。 
  它是一根绳,一根还没有系上任何一个汽球的绳。执行了第二句后,一只新汽球做出来了,并被系在veh1这根绳上。我们抓住这根绳,就等于抓住了那只汽球。

我的疑惑是,即使执行了第二条,那能说引用变量veh1就指向了对象吗?如果有对象,那对象在哪儿?因为在类Vehicle中,我可以不添加任何变量和方法,这样我抓到的是气球吗?还是说是Vehicle类本身呢?既然类是对象的模板,模板也可以当作对象用?那这样又是怎么用的?
带着这些疑问,我简单的编译了下,结果能通过,但最后的结果更让我茫然,求各位大大解答我的疑惑。谢谢!
Java code
public class A {

    public A() {
        // TODO 自动生成构造函数存根
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        A a = new A();
        System.out.println("here: " +a);
        // TODO 自动生成方法存根

    }

}

结果:here: A@a90653

这个过程的对象又是啥呢?

------解决方案--------------------
探讨
我觉得对象是类A里面的实例或者方法,如果类A里面没有任何实例变量或者方法的时候,那就应该是父类中的Object的实例变量和tostring方法了。

这样理解对吗?