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 Class2
en 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.