Comment appeler une méthode de classe à l'intérieur d'une autre classe
Principal de mon code java est comme ça:
package Javathesis;
//import... etc
//...
public class Javathesis; //My main class
{
public static void //There are a lot of these classes here
//...
//...
class x
{
String a;
String b;
x(String a, String b)
{
this.a = a;
this.b = b;
}
}
public void getAllDataDB1
{
ArrayList<ArrayList<x>> cells = new ArrayList<>();
while(resTablesData1.next())
{
ArrayList<CellValue> row = new ArrayList<>();
for (int k=0; k<colCount ; k++) {
String colName = rsmd.getColumnName(i);
Object o = resTablesData1.getObject(colName);
row.add(new x(rsmd.getColumnType(),o.toString());
}
cells.add(row);
}
public static void main(String[] args)
{
connectToDB1();
//i want to call an instance of class "x" HERE!!!
}
}
Comment puis-je appeler la classe x en public static void main? Suis-je en train de faire quelque chose de mal? J'ai déjà tester la façon dont je sais
Class class = new Class();
class.x(String a, String b);
mais je recevoir des erreurs. Quelqu'un peut-il m'aider à résoudre ce problème?
Merci à l'avance.
- Si vous recevez des erreurs - s'il vous plaît écrivez-les et mettez-les dans votre post.
- double possible de comment appeler intérieur de la classe de la méthode de statique de la méthode main ()
Vous devez vous connecter pour publier un commentaire.
Il y a plusieurs problèmes avec ce code:
Vous ne pouvez pas appeler une variable "classe", c'est un mot réservé. Aussi, x est une classe qu'on ne peut pas appeler cela, vous avez besoin d'instancier.
Aussi, pourquoi voudriez-vous d'instancier une Classe qui est une classe encapsulant les connaissances sur la classe Java?
Quelque chose comme ça pourrait fonctionner:
Aussi, s'il vous plaît, de démarrer les noms de classe avec la capitale de la lettre - c'est une convention en Java.
Depuis
x
est un intérieur de classe il besoin d'un extérieur instance de classe pour obtenir une référence:En outre, le point-virgule doit être supprimé à partir de la déclaration de classe
Méthodes de
x
peut être appelée à l'aide de la référence crééeConventions de Nommage Java montrent que le début des cours avec un majuscules lettre. Aussi son bon de donner à la classe un nom plus significatif qu'un seul nom de la lettre
Vous devez créer une instance de l'intérieur de votre classe
et ensuite appeler une méthode sur elle
Pour appeler une méthode d'une classe sans l'instanciation d'un objet de cette classe, la méthode doit être déclarée comme statique, puis appelé à partir d'où vous voulez en utilisant le nom de classe de la méthode de point parenthèses arguments.
public class x {
//constructeur, etc
public static int ajouter(int x,y) {
return x+y;
}
}
//faire un appel à partir de quelque part d'autre
int y = x.ajouter(4,5);