Java 如何从另一个类引用一个类中的方法(更多详细信息)

Java 如何从另一个类引用一个类中的方法(更多详细信息),java,class,oop,Java,Class,Oop,类A在其中实例化类B。B类是无关的,不是孩子。B类如何在A类中引用方法 例: 但是在类B中,既然我没有对它的引用,我怎么能从类A中调用方法呢?我想如果我只需要调用方法,我可以为类A创建另一个对象,但我需要访问最初实例化类B的类A的相同实例。将类A的实例传递给类B上的方法: Class A { public static void main(String[] args) { B newClass = new B(); newClass.testMe

类A在其中实例化类B。B类是无关的,不是孩子。B类如何在A类中引用方法

例:


但是在类B中,既然我没有对它的引用,我怎么能从类A中调用方法呢?我想如果我只需要调用方法,我可以为类A创建另一个对象,但我需要访问最初实例化类B的类A的相同实例。

将类A的实例传递给类B上的方法:

Class A
{
    public static void main(String[] args) 
    {
        B newClass = new B();
        newClass.testMethod(new A());
    }

    public void someImportantMethod()
    {
    }
}
public Stuff testMethod(A a) {
  a.someImportantMethod();
}

将类A的实例传递给类B上的方法:

Class A
{
    public static void main(String[] args) 
    {
        B newClass = new B();
        newClass.testMethod(new A());
    }

    public void someImportantMethod()
    {
    }
}
public Stuff testMethod(A a) {
  a.someImportantMethod();
}

将类A的实例传递给类B上的方法:

Class A
{
    public static void main(String[] args) 
    {
        B newClass = new B();
        newClass.testMethod(new A());
    }

    public void someImportantMethod()
    {
    }
}
public Stuff testMethod(A a) {
  a.someImportantMethod();
}

将类A的实例传递给类B上的方法:

Class A
{
    public static void main(String[] args) 
    {
        B newClass = new B();
        newClass.testMethod(new A());
    }

    public void someImportantMethod()
    {
    }
}
public Stuff testMethod(A a) {
  a.someImportantMethod();
}
(在这种情况下,您不能使用它,因为main()方法是静态的,但您得到了要点)

B类:

Class A
{
    public static void main(String[] args) 
    {
        B newClass = new B();
        newClass.testMethod(new A());
    }

    public void someImportantMethod()
    {
    }
}
public Stuff testMethod(A a) {
  a.someImportantMethod();
}
理想情况下,您可以引用A参数作为接口,以减少这两个类之间的耦合

(在这种情况下,您不能使用它,因为main()方法是静态的,但您得到了要点)

B类:

Class A
{
    public static void main(String[] args) 
    {
        B newClass = new B();
        newClass.testMethod(new A());
    }

    public void someImportantMethod()
    {
    }
}
public Stuff testMethod(A a) {
  a.someImportantMethod();
}
理想情况下,您可以引用A参数作为接口,以减少这两个类之间的耦合

(在这种情况下,您不能使用它,因为main()方法是静态的,但您得到了要点)

B类:

Class A
{
    public static void main(String[] args) 
    {
        B newClass = new B();
        newClass.testMethod(new A());
    }

    public void someImportantMethod()
    {
    }
}
public Stuff testMethod(A a) {
  a.someImportantMethod();
}
理想情况下,您可以引用A参数作为接口,以减少这两个类之间的耦合

(在这种情况下,您不能使用它,因为main()方法是静态的,但您得到了要点)

B类:

Class A
{
    public static void main(String[] args) 
    {
        B newClass = new B();
        newClass.testMethod(new A());
    }

    public void someImportantMethod()
    {
    }
}
public Stuff testMethod(A a) {
  a.someImportantMethod();
}
理想情况下,您可以引用A参数作为接口,以减少这两个类之间的耦合。

两个选项:

Class A
{
    public static void main(String[] args) 
    {
        B newClass = new B();
        // Call method from within B works no problem
        newClass.testMethod();
    }

    public static void someImportantMethod() //static method, accesible for any instance
    {
    }
}

两种选择:

Class A
{
    public static void main(String[] args) 
    {
        B newClass = new B();
        // Call method from within B works no problem
        newClass.testMethod();
    }

    public static void someImportantMethod() //static method, accesible for any instance
    {
    }
}

两种选择:

Class A
{
    public static void main(String[] args) 
    {
        B newClass = new B();
        // Call method from within B works no problem
        newClass.testMethod();
    }

    public static void someImportantMethod() //static method, accesible for any instance
    {
    }
}

两种选择:

Class A
{
    public static void main(String[] args) 
    {
        B newClass = new B();
        // Call method from within B works no problem
        newClass.testMethod();
    }

    public static void someImportantMethod() //static method, accesible for any instance
    {
    }
}


将对
this
对象的引用传递给
B
实例。代码中没有a的实例(
main
是静态方法)。因此,当您在下面建议的解决方案中选择解决方案时,您可以确定如何将实例传递给B。@SotiriosDelimanolis那里没有this,main是静态的,因此没有一个exists实例将
this
对象的引用传递给
B
实例。您的代码中没有A的实例(
main
是一种静态方法)。因此,当您在下面建议的解决方案中选择解决方案时,您将确定如何将实例传递给B。@SotiriosDelimanolis那里没有this,main是静态的,因此没有存在的实例将
this
对象的引用传递给
B
实例。您的代码中没有A的实例(
main
是一种静态方法)。因此,当您在下面建议的解决方案中选择解决方案时,您将确定如何将实例传递给B。@SotiriosDelimanolis那里没有this,main是静态的,因此没有存在的实例将
this
对象的引用传递给
B
实例。您的代码中没有A的实例(
main
是一种静态方法)。因此,当您在下面建议的解决方案中选择解决方案时,您将确定如何将实例传递给B。@SotiriosDelimanolis那里没有这个,main是静态的,所以exists的实例没有,因为它在静态main方法中,因为它在静态main方法中,因为它在静态main方法中,因为它在静态main方法中