在编程的过程中遇到这样一个问题
program1;
class A{
  String str = "123456";
  B b = new B();
  b.bb(str);
}
class B{
  
  public void bb(String str){
  ………………………………………………
  }
}
program2;
class A{
  String str = "123456";
  B b = new B();
  b.setStr(str);
  b.bb();
}
class B{
  String str;
  public void setStr(String str){
   this.str = str;
}  public void bb(){
  ………………………………
  }
}
请问这两个那个效果更好一点

解决方案 »

  1.   


    class A{
      String str = "123456";
      B b = new B();
      b.setStr(str);
      b.bb();
    }
    class B{
      private String str;
      public void setStr(String str){
      this.str = str;
    }  public void bb(){
      ………………………………
      }
    } 一般是这样,用于封装
      

  2.   

    program1 吧, 不是太复杂的业务操作,直接调用就是了.
      

  3.   

    我也支持第二种的。在java设计语言中,用于描述现实事物实体的类通常需要声明有关属性的set方法和get方法,从而能够利用这些方法完成对封装为私有属性的操作。这里program2中的setStr方法用于修改str属性的值。
      

  4.   

    class A{ 
      String str = "123456"; 
      B b = new B(); 
      b.bb(str); 
    } 这样可以???b.bb(str);可以不用在函数里面直接调用???
    第一次看到