2012-05-11 19 views
20

Burada sorun nedir?Java: Belirleyici bekleniyor

class UserInput { 
    public void name() { 
    System.out.println("This is a test."); 
    } 
} 

public class MyClass { 
    UserInput input = new UserInput(); 
    input.name(); 
} 

Bu şikayet: Bir yöntemin dışında yöntemler diyemezsin

<identifier> expected 
    input.name(); 
+0

Are bir kurucu eksik? – ChristopheD

+3

'input.name();' öğesini istediğiniz yere koyamazsınız, bir yöntem içinde olması gerekir. –

cevap

23

Kodunuzu bir yönteme koyun.

bu deneyin:

Sonra
public class MyClass { 
    public static void main(String[] args) { 
     UserInput input = new UserInput(); 
     input.name(); 
    } 
} 

"run" sınıfı IDE'nizde gelen

6

. Bunun gibi kod, sınıfta yüzemez.

Sen gibi bir şey gerekir:

public class MyClass { 

    UserInput input = new UserInput(); 

    public void foo() { 
     input.name(); 
    } 
} 

veya Yapıcı içinde:

public class MyClass { 

    UserInput input = new UserInput(); 

    public MyClass() { 
     input.name(); 
    } 
} 
4

input.name() ihtiyaçlarını bir fonksiyonun içinde olmak; sınıflar, rastgele kod değil, bildirimler içerir.

5

yerine böyle deneyin bir ana yöntem içinde senin myclass öğeleri taşıyın: Eğer

class UserInput { 
     public void name() { 
     System.out.println("This is a test."); 
     } 
    } 

    public class MyClass { 

     public static void main(String args[]) 
     { 
      UserInput input = new UserInput(); 
      input.name(); 
     } 

    } 
İlgili konular