Java问题

来源:互联网 发布:数据收集软件 编辑:程序博客网 时间:2024/05/22 13:13

         应同事的要求,我把项目中遇到的java的问题总结在此地,慢慢积累,慢慢提炼,希望各位达人指教。

        一 this的释义:

       写过SQL语句的人都知道,当我们进行多表联合查询的时候,方便起见,会使用别名,一个例子:

       select doc.title, att.filename  from document doc, attach att where att.docid = doc.id

       其实,某种程度上说,this也是一个类的别名(句柄),当类被程序创建的时候,句柄产生;它的生命周期就是类本身的生命周期。举个例子说:

      public class Machine{
           public void work(){
                 System.out.println("Machine starting");
           }
      }
      public class Worker{
          private Machine machine;
          public void work(){
              this.machine.work();
          }
          public void setMachine(Machine machine)...
     }
 

     简单的说,当Woker类调用Mchine类的work方法时,它的形式是Machine.work(machine);this指向Machine的对象,用术语来说,当你初始化一个类的时候,计算机会创建一个内存的地址给它,this就是那个0和1组成的地址。直观的看,其实跟SQL中的别名没什么两样,只是this是一种特殊的别名而已。

原创粉丝点击