A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 蒋昌宏 于 2012-2-17 13:21 编辑

class Person{
        public void print(){
                System.out.println(this.prepaid) ;
                System.out.println(this.postpaid) ;
                System.out.println(this.hybrid) ;
        }
        private String postpaid ;
        private String hybrid ;
        private String prepaid ;
        public Person(){
                System.out.println("新的对象产生了!") ;
        }       
                public Person(String postpaid){
                        this();
                        this.postpaid = postpaid ;
                        System.out.println("新的对象产生了!!") ;
                }
                public Person(String postpaid,String hybrid){
                        this(postpaid);
                        this.hybrid = hybrid;
                        System.out.println("新的对象产生了!!!") ;
                }
        public Person(String postpaid,String hybrid,String prepaid){
                        this(hybrid);
                        this.prepaid = prepaid;
                        System.out.println("新的对象产生了!!!!") ;
                }
        public void function(Person temp){
                temp.postpaid = "后付费";
                temp.hybrid = "混合付费";
                temp.prepaid = "预付费";
                }

        public void setPostpaid(String postpiad){
                        this.postpaid = postpaid;
                }
        public String getPostapid(){
                  return this.postpaid;
                }
        public void setHybrid(String hybrid){
                        this.hybrid = hybrid;
                }
        public String getHybrid(){
                  return this.hybrid;
                }
        public void setPrepaid(String prepaid){
                        this.prepaid = prepaid;
                }
        public String getPrepaid(){
                  return this.prepaid;
                }
};
public class Boss{
        public static void main(String args[]){
                Person per = new Person() ;
                per.function(per);
                per.print() ;
               
         Person per0 = new Person("") ;
                per.function(per0);
                per.print() ;
               
          Person per1 = new Person("","") ;
                per.function(per1);
                per.print() ;
               
                Person per2 = new Person("","","") ;
                per.function(per2);
                per.print() ;

        }
};


实际结果打印出来是:
新的对象产生!
预付费
后付费
混合付费
新的对象产生!
新的对象产生!!
预付费
后付费
混合付费
新的对象产生!
新的对象产生!!
新的对象产生!!!
新的对象产生!!!
预付费
后付费
混合付费
新的对象产生!
新的对象产生!!
新的对象产生!!!!
预付费
后付费
混合付费


预期结果是:
新的对象产生!
预付费
后付费
混合付费
新的对象产生!
新的对象产生!!
预付费
后付费
混合付费
新的对象产生!
新的对象产生!!
新的对象产生!!!
预付费
后付费
混合付费
新的对象产生!
新的对象产生!!
新的对象产生!!!
新的对象产生!!!!
预付费
后付费
混合付费

2 个回复

倒序浏览
public Person(String postpaid,String hybrid,String prepaid){
                        this(postpaid,hybrid); //该构造函数这边少加了个参数
                        this.prepaid = prepaid;
                        System.out.println("新的对象产生了!!!!") ;
                }

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
刘基军 发表于 2012-2-17 13:41
public Person(String postpaid,String hybrid,String prepaid){
                        this(postpaid,h ...

谢了,原来要这么加
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马