Een klas bellen vanuit een andere klas

Ik wil class2aanroepen vanuit class1maar class2heeft geen hoofd-functie om naar te verwijzen zoals Class2.main(args);


Antwoord 1, autoriteit 100%

Stel dat je hebt

Klasse1

public class Class1 {
    //Your class code above
}

Klasse2

public class Class2 {
}

en dan kun je Class2 op verschillende manieren gebruiken.

Klasseveld

public class Class1{
    private Class2 class2 = new Class2();
}

Veld methode

public class Class1 {
    public void loginAs(String username, String password)
    {
         Class2 class2 = new Class2();
         class2.invokeSomeMethod();
         //your actual code
    }
}

Statische methoden van Class2
Stel je voor dat dit jouw klas2 is.

public class Class2 {
     public static void doSomething(){
     }
}

van klasse1 kun je doSomething van klasse2 gebruiken wanneer je maar wilt

public class Class1 {
    public void loginAs(String username, String password)
    {
         Class2.doSomething();
         //your actual code
    }
}

Antwoord 2, autoriteit 14%

Als je class2 er zo uitziet met statische leden

public class2
{
    static int var = 1;
    public static void myMethod()
    {
      // some code
    }
}

Dan kun je ze gewoon zo noemen

class2.myMethod();
class2.var = 1;

Als je toegang wilt krijgen tot niet-statische leden, moet je een object instantiëren.

class2 object = new class2();
object.myMethod();  // non static method
object.var = 1;     // non static variable

Antwoord 3, autoriteit 9%

Maak eenvoudig een instantie van Class2en roep de gewenste methode aan.

Leesadvies: http://docs.oracle.com/javase/tutorial/ java/javaOO/


Antwoord 4, autoriteit 5%

Maak eerst een object van class2 in class1 en gebruik dat object dan om een willekeurige functie van class2 aan te roepen
bijvoorbeeld
schrijf dit in klas1

class2 obj= new class2();
obj.thefunctioname(args);

Antwoord 5, autoriteit 5%

Class2 class2 = new Class2();

In plaats van de main aan te roepen, zou je misschien individuele methoden moeten aanroepen waar en wanneer je ze nodig hebt.

Other episodes