2013-11-03 63 views
1

基本上我收到錯誤消息:「錯誤:無法找到或加載主類驅動程序」爲什麼我得到這個錯誤?這是我第一個使用類的實例,所以我不確定我的代碼中的語法。任何幫助表示讚賞,謝謝。爲什麼我不能加載/找到主類?

public class Person { 
private String name;//a variable that contains a person's name 
private int age;//a variable that contain's a person's age 

public class Driver{ 
    public void main(String[] args) 
    { 
     String name1="John"; 
     int age1=30; 
     Person person1= new Person(); 
     person1.setName(name1); 
     person1.setAge(age1); 
     System.out.print(person1.getName()); 
     System.out.print(person1.getAge()); 
    } 
} 
//returns the age of a person 
public int getAge(){ 
    return age; 
} 

//returns the name of a person 
public String getName() 
{ 
    return name; 
} 

//changes name of a person 
public void setName(String s) 
{ 
    name=s; 
} 

//changes age of a person 
public void setAge(int x) 
{ 
    age=x; 
} 

}

+0

你需要'static'。 –

回答

3

public void main(String[] args)應該public static void main(String[] args)

+0

啊,但如果我這樣做我接收的錯誤消息「的方法,主要不能聲明靜態;靜態方法只能在靜態或頂級類型聲明」。這是我的原始代碼,但我改變了它,因爲日食給了我這個。 – user2453836

+0

+在一個文件中似乎有多個到級別的類,這是無效的。 –

+0

@ user2453836因爲您必須將主方法放在頂層類中,即類Person。 –

4

的JVM無法找到main方法由JLS

The method main must be declared public, static, and void.

指定你需要做的內部類頂級別並使main方法static(因爲靜態方法只能屬於頂級類)

public class Driver { 
    public static void main(String[] args) { 
     ... 
    } 
} 
1

你需要讓內部類static以及main方法。你不能在實例內部類上放置static方法。

public class Person { 
public static class Driver{ 
    public static void main(String[] args) { 
     .... 
    } 
} 
} 
相關問題