如:
class MyFrame extends Frame
{
  MyFrame(){
    setLayout();
    add();
     ......
    setVisible();
}
我现在很疑惑,到底应该写多少进去才合适?
有些可以放到其它地方执行的

解决方案 »

  1.   

    所有初始化的内容都必须写到,或者在这里面调用。最终结果,外面使用者new一个就可以正确的运行为标准。
      

  2.   

    请注意那个调用,不一定所有的代码都写到这里,你可在里面调用init1();
    init2();
    这样每个部分负责各自的初始化,代码可读性更高,易于维护
      

  3.   

    如果你的所有操作都是初始化一个新对象需要的,那就只有都放进去。
    如果有部分操作是可以在以后根据情况决定是否需要,那就拿出来放到别的函数里面。
    另外一个方面就是上面兄弟说的,可以把不同的类型的初始化放在几个函数中,例如:class MyFrame extends Frame
    {
      MyFrame(){
        initDatabase();
        initGUI();
        initInternalData();
        ......
      

  4.   

    嗯  正解构造函数还是简洁些为好  比如拟定一个类叫Time  那么它必然有变量叫hour minute second  那么你在构造函数你最好初始化这3个变量  
      

  5.   


    建议初始化组件,布局不要放在够找函数里面.可以重写validate(), layout()等Container类里的方法来做.怕重复初始化, 可添加一布尔属性来控制public void layout()
    {
        if(! hasInited){
           initUI();
           layoutUI();
           hasInited = true; 
        }
        super.layout();
    }
      

  6.   

    public class A {

    static
    {
    System.out.println(11111);
    }

    {

    System.out.println("222222");
    }  public A() {
     System.out.println("3333333");
     }
    }楼主,,你有三个位置可以做初始化的事情,,,,构造器只是如果有必要的代码, 就写进去。 最好少写。