令牌上的Java语法错误…此令牌后预期的标识符

我得到Java“令牌上的语法错误”callMe“,在此令牌之后的标识符”我的程序的下一行错误:

c1.callMe();

class Class2 { Class1 c1 = new Class1(); c1.callMe(); } public class Class1 { public void callMe() { System.out.println("I am called!!"); } } 

请帮助我找出确切的原因。 提前致谢。

 Class1 c1 = new Class1(); c1.callMe(); 

必须移动到一个方法,它不能在类定义级别,否则没有意义(你的代码何时执行?):

 public class Class2 { public void doSomething() { Class1 c1 = new Class1(); c1.callMe(); } } 

以下是如何在Java中正确编写类:)

 class Class2 { Class1 c1 = new Class1(); public void callMe(){ c1.callMe(); } } public class Class1 { public void callMe() { System.out.println("I am called!!"); } } 

添加Main方法并重新排列代码:

 public class Class2 { public static void main(String[] args) { Class1 c1 = new Class1(); c1.callMe(); } } class Class1 { void callMe(){ System.out.println("I am called!!"); } }