你这样写,很好.JAVA的设计模式中许多都是利用AbstractClass per = new InfactClass();的特性来完成.

解决方案 »

  1.   

    我认为应该这样写
    Person person = new Person() //upcasting
    person.setXXX();
    ......
    person.AddUser();
      

  2.   

    TO:lonelydavy(davy) Person person = new Person() //upcasting
    person.setXXX();
    ......
    person.AddUser();说说你的理由好吗?
      

  3.   

    mingr6370(丑男)那么能告诉我你为什么要用AbstractPerson 呢?
      

  4.   

    mingr6370(丑男)那么能告诉我你为什么要用AbstractPerson 呢?
      

  5.   

    TO:lonelydavy(davy) 我在看Thinking in java多态这一章中说,抽象类为它的所有derived calsses提高“共同的接口”
      

  6.   

    这和是否用hibernate无关,纯属一个设计思想的问题。你理解为什么要用
    Itest it=new ItestImpl();
    Itest是接口,ItestImpl是具体实现类明白了这个,你的问题就迎刃而解了。
      

  7.   

    当然用Person person = new Person() //upcasting
    person.setXXX();
    ......
    person.AddUser();
    AbstractPerson是person类的父类,用person类能代表AbstractPerson的所有特性,当然用person类了。