当我尝试在没有 main 方法的情况下调用 class A 中 class B 的方法时出现错误
Error appears when i try to call a method of class B in class A without main method
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();
}
}
但是当我把这些行放在上面的块中时,那里没有出现编译时错误,但是出现了 运行 时间错误;
错误:class A 中找不到主要方法,请将主要方法定义为:public static void main(String[] args) 或 JavaFX 应用程序 class 必须扩展 javafx.application.Application
这是否意味着我不能 运行 没有 main 方法的代码?如果我需要一个主要方法那么为什么当我把它放在一个块中时 eclipse 没有显示任何错误
第一段代码失败,因为您在初始化程序块、方法或构造函数中没有 classa 中的代码。第二段代码将其放入实例初始化程序中,这就是错误消失的原因。
然而,由于 A class 是 public,我假设您此时没有任何其他 public classes,您需要一个入口点应用。这就是为什么 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();
}
}
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();
}
}
但是当我把这些行放在上面的块中时,那里没有出现编译时错误,但是出现了 运行 时间错误;
错误:class A 中找不到主要方法,请将主要方法定义为:public static void main(String[] args) 或 JavaFX 应用程序 class 必须扩展 javafx.application.Application
这是否意味着我不能 运行 没有 main 方法的代码?如果我需要一个主要方法那么为什么当我把它放在一个块中时 eclipse 没有显示任何错误
第一段代码失败,因为您在初始化程序块、方法或构造函数中没有 classa 中的代码。第二段代码将其放入实例初始化程序中,这就是错误消失的原因。
然而,由于 A class 是 public,我假设您此时没有任何其他 public classes,您需要一个入口点应用。这就是为什么 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();
}
}