public class MainForm extends JFrame implements ActionListener
{
    JMenuBar mBar=new JMenuBar();
    MainForm()
    {
                 setVisible(true);  // 主要是问这里
    }
   
    }
    public static void main(String[] args) {
        new MainForm();
    }
}
之后再另外一个类里如此调用new MainForm().setVisible(true);我是java小白,请问可以这样调用一个构造器里的函数吗,这是根据哪条原则,非常感谢!

解决方案 »

  1.   

    new MainForm() 就相当于一个MainFrom对象 当然可以调用构造函数
      

  2.   

    构造函数在你new的时候就会执行里面的方法,不用new MainForm().setVisible(true);
    这么调用
      

  3.   

    楼主,另一个类中如果这么调用的话,【new MainForm().setVisible(true);】
    得看setVisible是什么访问权限,如果是public,是可以访问的。
    如果是private就会报错……
    具体你可以看看public/private/protected的访问权限。另外,你把setVisible(true)放在了构造函数里面,那么new的时候就会直接执行,也不用重新再写一遍。
      

  4.   

    3楼正解!当执行new MainForm();就会调用MainForm();的构造函数,也就会自动调用setVisible(true);
      

  5.   

    new MainForm().setVisible(true);
    这不是调用构造器里的方法,setVisible方法是从父类继承过来的,所以你可以调用。
    另外,你的MainForm的构造器里也调用了一次,设置为可见,外面就不需要调用过了。