2017-10-16 2 views
-2

La méthode 'main' doit être dans une classe 'Rextester'.error La méthode 'main' doit être dans une classe 'Rextester'. quelqu'un peut-il expliquer

import java.util.*; 
import java.lang.*; 

class Sathya{ 
    String a,b; 

    Sathya (String x,String y) 
    { 
     a=x; 
     b=y; 
    } 
    Sathya (Sathya x1,Sathya x2) 
    { 
     a=x1.a+" "+x2.a; 
     b=x1.b+" "+x2.b; 
    } 
    void disp() 
    { 

     System.out.print(a+" "+b); 
    } 

} classe BCPD {

 public static void main(String args []) 
     { 
      Sathya s1 =new Sathya("java", "india"); 
      s1.disp(); 
     } 
    } 

**** erreur Méthode 'principale' doit être dans une classe 'Rextester'. ****

+2

Vous ne pouvez pas déclarer une méthode statique dans une classe interne non statique. Puisque vous n'avez probablement jamais voulu faire d'Opcd une classe interne de Santhya, pourquoi ne pas suivre les conventions de Java et déclarer les classes dans leurs propres fichiers à la place? –

Répondre

0

Dans Eclipse, la compilateur dit: The method main cannot be declared static; static methods can only be declared in a static or top level type. Et voila.

Vous pouvez uniquement déclarer la méthode principale dans la classe de niveau supérieur, c'est-à-dire la classe Sathya, et non dans la classe interne.