这种情况一般不会出现,即使出现的话那也是A、B同时被C组合由C来调度A、B的方法。如LZ说的如果A、B之前相互调用如果出现线程安全问题也是很容易造成死锁的~~

解决方案 »

  1.   

    大神你的意思是
    1.
    class C {
     A a;
     B b;
     ....
    }
    还是
    2.
    class A {
     C c;
    }class B{
     C c;
    }
    把A B中set入同一个c对象
      

  2.   

    大神你的意思是
    1.
    class C {
     A a;
     B b;
     ....
    }
    还是
    2.
    class A {
     C c;
    }class B{
     C c;
    }
    把A B中set入同一个c对象
    C是对的,A和B就不需要C了,试问两者之间互调的目的何在
      

  3.   

    大神你的意思是
    1.
    class C {
     A a;
     B b;
     ....
    }
    还是
    2.
    class A {
     C c;
    }class B{
     C c;
    }
    把A B中set入同一个c对象
    C是对的,A和B就不需要C了,试问两者之间互调的目的何在大神还有一个问题,首先我没理解错的话你的意思是第一种是正确的吧;第二,那我给这个包含A ,B 的类C 起什么名字呢,会不会有莫名奇妙多出来一个类,完全就起一个方便开发的作用而和要模拟的真实世界中对象完全对应不上的感觉。  
      

  4.   

    大神你的意思是
    1.
    class C {
     A a;
     B b;
     ....
    }
    还是
    2.
    class A {
     C c;
    }class B{
     C c;
    }
    把A B中set入同一个c对象
    C是对的,A和B就不需要C了,试问两者之间互调的目的何在大神还有一个问题,首先我没理解错的话你的意思是第一种是正确的吧;第二,那我给这个包含A ,B 的类C 起什么名字呢,会不会有莫名奇妙多出来一个类,完全就起一个方便开发的作用而和要模拟的真实世界中对象完全对应不上的感觉。  
    我的意思是说你说的那种情况不可能出现
      

  5.   

    这样就是只要new出C类就OK,要调用A、B两个类的方法的时候,只要用c.A或c.B来得到。这其实就是相当于弄个第三方类来进行操作和管理嘛,不知道是不是这么个意思
      

  6.   

    感觉理解大神的意思了,貌似web开发是用不到,互相嵌套调用的方式
      

  7.   

    public class B extends A{}
      

  8.   

    用A继承B,然后在B中写范例方法,是不是可以实现相互调用呢。
      

  9.   

        刚考完研,准备把java重新拾起来,虽然以前也是自学的~
    我说下我的看法~不对请指正。
         从底层的微程序到现在的外部网路,思想都是互相引用的。譬如说,最经典的分层结构,系统的设计从无模块到模块 再到分层,而网络其实也是分层设计的思想。
           你说这两个互相关联的问题,现在来说这样设计不大恰当,以前是有这个问题。譬如当初设计系统时,模块之间确实存在互相调用,导致不知道到底谁是基层,谁是高层,或者说主次不分的情况,所以有了耦合度说法。这是模块设计带来的问题。
      不如借鉴下系统的设计思想。这两个类都是关联的,或者都用到对方的某一功能,完全可以抽象出一个共性,作为接口或者父类,采用继承的方式来实现功能,接口无非是为了屏蔽外部的差异,而父类则是解决内部的无序问题。
        苹果和菠萝都能吃,但吃法不同,而水果也能吃,但却是个抽象的,水果本身就是抽象的实体。在设计苹果类和菠萝时,我们是不是可以实现水果这个接口,再定义自己自己的吃法,当我们定一个水果对象时,不论你是苹果还是菠萝,我都能new 。
        interface fruit{
            eat();
           }
         class A implements fruit{
           eat(){直接吃}
           }
         class AC implements fruit{
            eat(){剥皮吃}
            }
        随便建个主函数调用 
        {
           fruit fr1=new A();
           fruit fr2=new AC();
           都调用吃,但吃的方法不同 
         }
        父类也是如此,差异不大。
        我们不知道你是要实现啥功能,这是其一吧,还有可能如楼上所说的组合功能。组合功能那也是在第三方中来实现的,没必要互相引用,除非你设计错了。
      

  10.   


    你说的有点像策略模式,但策略模式是把接口写到类内,而不是继承,因为可以动态改变。其实这几天我已找到一种解决这个问题的方法, 就是把model 分成实体和server  ,其实这种四层架构就已经可以解决我问的问题了,但是我隐约的感觉可能也有一些缺点,但我还没想到
      

  11.   

    看一下java 自己写的回调方法
      

  12.   

    A调用B,B调用A ..
    直接写一个类里面不就好了么...
      

  13.   


    所以写到一个server 里了