问题描述
class B {
void view(){
System.out.println("in class b");
}
}
public class A {
B obj = new B();
obj.view();
}
在obj.view行的此代码中出现一个错误:令牌视图上的语法错误,此令牌后应有标识符
class B {
void view(){
System.out.println("in class b");
}
}
public class A {
{
B obj = new B();
obj.view();
}
}
但是当我将这些行放在上面的代码块中时,没有出现编译时错误,但出现了运行时错误;
错误:在类A中找不到主要方法,请将该主要方法定义为:public static void main(String [] args)或JavaFX应用程序类必须扩展javafx.application.Application
这是否意味着没有主方法就无法运行代码?如果我需要主要方法,那为什么当我将eclipse放在一个块中时却不显示任何错误
解决方法
第一段代码失败,因为您没有初始化程序块,方法或构造函数中a类中的代码。第二段代码将其放入实例初始化程序中,这就是错误消失的原因。
但是,由于A类是公共的,并且我假设您目前没有任何其他公共类,因此您需要该应用程序的入口点。这就是为什么必须使用main方法的原因,否则程序将无法知道从何处启动应用程序。因此,这将起作用
class B {
void view(){
System.out.println("in class b");
}
}
public class A {
public static void main(String[] args) {
B obj = new B();
obj.view();
}
}