解决方案 »

  1.   

    invokeByObject类中没有onlyTest型成员变量
      

  2.   

    是可以这么理解,但是不能这么做,因为public void tryChange(onlyTest form)中的 form是入参,是别人传进来的,
    你无法保证别都是onlyTest form=new onlyTest()之后就传进来,因此form对象的属性值可以是各式各样的。
      

  3.   

    public void tryChange()
        {
                    onlyTest form=new onlyTest();
            int t=form.getX();
            form.setX(t*2);
        } 
    你改成这样我没看出来有什么问题啊
    你说的报错是怎么报错?至于 上面的代码中public void tryChange(onlyTest form)圆括号里是否等同于onlyTest form=new onlyTest()不等于 前面是传进来一个form对象 里面可以有属性 后面是创建一个新的form对象 不出意外 大部分属性都是空的 还有 友情提示一下 类名的第一个字母一般都是大写的 这是最基本的标准你是在自学java吗?
      

  4.   

    应该没有程序错误,你说的有错是指没有得到你想要的结果吧?
    以参数传进去一个对象,实际上是传进去该对象的引用,在方法里对该对象引用的操作都将直接作用于该对象。而你在方法内部自己创建一个对象(new onlyTest()),是新创建的一个对象,跟方法外的对象不是同一个对象,因此对它的操作不会影响方法外面的对象。参数列表中的onlyTest form不等同于onlyTest form = new onlyTest(),而是等同于onlyTest form = 传进来的对象的引用。此外,也是这里大家都看着不爽的最主要原因,写JAVA就要遵守JAVA程序员的一些习惯,类名要首字母大写,驼峰命名。如果你不这样,谁也说不出你错,但谁看了都不爽,连IDE看见都给你画黄线!最后,你这是哪里来的习惯呢?我怎么从来没听说过哪门语言的类名是小写字母开头的?
      

  5.   

    "就提示有错误",也不写出来什么错误......
    比如说
    你把tryChange(actual)改成tryChange(),而调用的是tryChange(actual);  public void showDiffer()    {        
           tryChange(actual);      
     }