java吧 关注:1,243,926贴子:12,719,826
  • 6回复贴,共1

关于变量的声明和对象的构造的问题

只看楼主收藏回复

Bird b=new Bird();
我一直搞不懂一个问题 java为什么要先声明对象的类型即Bird b 然后再去构造对象 new Bird();
声明对象的类型的过程 在内存中或者其他地方有没有存储? 或者这么说 ,我怎么知道这个对象有没有被声明过? 声明的意义何在呢? 如果有意义 那完全可以像js脚本语言一样 直接用var来声明不就可以吗 ? 使用多态的时候不是更方便了吗?连基类的类型都不用去知道
希望有人给我解惑一下 谢谢了亲们


1楼2013-10-24 16:33回复


    2楼2013-10-24 16:41
    回复
      黄金的原子核中怎么弄那么多中子质子啊,少点多好,像人家氢原子只有单个质子,简单明了不是更好嘛。


      IP属地:山东3楼2013-10-24 16:42
      收起回复
        所有程序都在内存中运行
        引用,即你所谓的对象的类型存于虚拟机栈中,属于线程私有变量,如果该线程结束,引用的内存也就回收。
        而对象存于堆中,被所有线程共享,线程结束并不意味着这块对象的内存会被回收。
        如果没有引用 就找不到堆中的对象。
        强变量类型和弱变量类型 各有优劣,java的设计已定。


        4楼2013-10-24 16:53
        收起回复


          5楼2016-07-29 19:34
          回复