你在类里面实例化一个对象,可以是public 也可以是private 等等。
但你一旦在方法里实例化一个对象,如:
public void methodOne {
    public classB newClassB = new classB();
    newClassB.methodName();
}那么只能用final ,如例你用public 是不正确的.把public去掉就可以了。

解决方案 »

  1.   

    methodOne的后面不加括号可以吗?
    public void methodOne()//这里不加括号马?
    {
     newClassB.methodName();//随便调用着各类里面的方法
    }
      

  2.   

    不好意思我写错了!我的本意是
    //我发现这样使用不行啊!
    public class classA
    {
    public classB newClassB = new classB();
    //实例例化某个对象;
    public void methodOne()
    {
     newClassB.methodName();//随便调用着各类里面的方法
    }
    public void methodTwo()
    {
     newClassB.methodName();//随便调用着各类里面的方法
    }


    }//但这样可以阿
    public class classA
    {

    public void methodOne()
    {
    classB newClassB = new classB();
    //实例例化某个对象;
     newClassB.methodName();//随便调用着各类里面的方法
    }
    public void methodTwo()
    {
    classB newClassB = new classB();
    //实例例化某个对象;
     newClassB.methodName();//随便调用着各类里面的方法
    }
    }为什么我编译第一种写法的时候总体是我类有问题呢!?而第二种就可以啊为什么啊
      

  3.   

    不应该有错误,第一种方法和第二种方法有区别,但第一种是合理的.你把错误信息和classB源码贴出来看看..........
      

  4.   

    呵呵。楼主的问题不可能发生啊。
    可能是classB写的有问题。
      

  5.   

    public class ClassA
    {

    public ClassB classb = new ClassB();

    public ClassA()
    {
    System.out.println("A Construct");
    }

    public void methodA()
    {
    System.out.println("A methodA");
    classb.methodA();
    }

    public void methodB()
    {
    System.out.println("A methodB");
    classb.methodB();
    }


    public static void main(String[] args)
    {
    ClassA a = new ClassA();
    a.methodA();
    a.methodB();
    }
    }class ClassB
    {
    public ClassB()
    {
    System.out.println("B Construct");
    }


    public void methodA()
    {
    System.out.println("B methodA");
    }

    public void methodB()
    {
    System.out.println("B methodB");
    }
    }
    -----------------------------------
    上面是我写的。没有见有任何问题。
    问题的原因应该是你的classB的问题。
      

  6.   

    public class A {
      public A() {
      }
      public void mothodA()
      {
      };
      public void mothodB()
      {
      };
    }
    ---------------
    public class B {  public A a = new A();
      public void mothodA(){
        a.mothodA();
      }
      public void mothodB(){
        a.mothodB();
      }
    }这是我写的,没有问题呀..