比如有两个Java程序文件
A.java;  文件位置:在目录 a/b/A/A.java下
B.java;  文件位置:在目录 a/b/B/B.java下其中,A.java 中定义了aa1, aa2两个类;
     B.java中定义了bb1,bb2两个类;如何import让A.java和B.java中的类相互引用呢?
这里涉及到的classpath如何修改呢?谢谢了!

解决方案 »

  1.   

    import A.A;import B.B;在A.java中定义访问aa1,aa2的方法,然后在B.java中通过访问A的这些方法达到访问aa1,aa2的目的
      

  2.   

    “ctrl+shift+M”这个什么意思啊?什么作用呢?“在A.java中定义访问aa1,aa2的方法”----你是说除了定义aa1,aa2之外,还需要定义“访问aa1,aa2的方法”,可否举个例子阿,不是很明白!
    谢谢了!
      

  3.   

    定义了类,然后要创建实例才能使用,给你写了个简单的例子:A.java:package A;public class A {

    private Aa1 aa1;
    private Aa2 aa2; public A() {
    System.out.println("I'm class A");
    aa1 = new Aa1();
    aa2 = new Aa2();
    }

    public void loadFuncFromAa1() {
    aa1.print();
    }

    public void loadFuncFromAa2() {
    aa2.print();
    }}class Aa1 {
    public Aa1() {
    System.out.println("I'm class Aa1");
    } public void print() {
    System.out.println("I'm print of Aa1");
    }
    }class Aa2 {
    public Aa2() {
    System.out.println("I'm class Aa2");
    } public void print() {
    System.out.println("I'm print of Aa2");
    }
    }B.java:package B;import A.A;public class B {

    private Bb1 bb1;
    private Bb2 bb2;
    private A a;

    public B() {
    System.out.println("I'm class B");
    bb1 = new Bb1();
    bb2 = new Bb2();
    a = new A();
    }

    public void loadFuncFromBb1() {
    bb1.print();
    }

    public void loadFuncsFromA_aa1_aa2() {
    a.loadFuncFromAa1();
    a.loadFuncFromAa2();
    }

    public static void main(String[] args) {
    B b = new B();
    b.loadFuncFromBb1();
    b.loadFuncsFromA_aa1_aa2();
    }

    }class Bb1 {
    public Bb1() {
    System.out.println("I'm class Bb1");
    }

    public void print() {
    System.out.println("I'm print of Bb1");
    }
    }class Bb2 {
    public Bb2() {
    System.out.println("I'm class Bb2");
    }

    public void print() {
    System.out.println("I'm print of Bb2");
    }
    }
      

  4.   

    一个文件中定义两个类,只有一个可以声明为public的。
    这个public类可以在别的包中来访问,而另一个类是不能在不同的包里面访问的。
    所以,要想实现你的效果,必须把每个文件中的两个类分别写在两个不同的文件里。