此构造方法强制要求,MyMoniter 必须有一个 TFFrame 的实例才能运行,如果画图,必须有画笔一样。

解决方案 »

  1.   

    就是设置一个属性而已,只不过是个对象,所以直接指向引用就可以了,不用再new一个
      

  2.   

    那如果我写成这样子行吗?去掉public MyMoniter(TFFrame tf){
            this.tf = tf;
        }class MyMoniter implements ActionListener {
        TFFrame tf = newTFFrame();
        
        public void actionPerformed(ActionEvent e) {
            int n1 = Integer.parseInt(tf.num1.getText());
            int n2 = Integer.parseInt(tf.num2.getText());
            tf.num3.setText(""+(n1+n2));
        }
    }
      

  3.   

    public class ManagerUser{
    //.....对User信息进行操纵的一些代码
    }public class Person{
       public ManagerUser managerUser = null;
       public Person(ManagerUser managerUser){
          this.managerUser = managerUser;
       }
       public void setAge(int age){
            managerUser.setUserAge(age);
            managerUser.updateUser();
            /....一些操纵信息
       }
    }//别问我为什么这样写,, 这只是表达一下持对方引用 
    //可以理解为 门面模式