程序不报错,但是无法执行

package test4;
import java.util.Scanner;

public class Hero{
private String name;
public int health;
private int grade;
public Hero() {
this.health=100;
this.grade=1;
System.out.println("请输入英雄的名字:");

Scanner scan=new Scanner(System.in);
this.name=scan.nextLine();
print();
}

public void print() {
System.out.println("Hero信息:");
System.out.println("姓名:"+this.name);
System.out.println("生命值:"+health);
System.out.println("等级:"+grade);
System.out.println("----------------------------------------------------");
}
}

public Hero()是构造函数,只有刚声明一个Hero变量的时候才会执行,java程序运行都是从main函数开始的。

package test4;
import java.util.Scanner;

public class Hero{
  private String name;
  public int health;
  private int grade;
  public Hero() {
    this.health=100;
    this.grade=1;
    System.out.println("请输入英雄的名字:");

    Scanner scan=new Scanner(System.in);
    this.name=scan.nextLine();
    print();
  }

  public void print() {
    System.out.println("Hero信息:");
    System.out.println("姓名:"+this.name);
    System.out.println("生命值:"+health);
    System.out.println("等级:"+grade);
    System.out.println("----------------------------------------------------");
  }

//缺少主函数
  public static void main(){
    Hero hero = new Hero();
  }
}

p.s.忘了主函数名的标准写法了,编译器会有提示的,函数体没问题。

你怎么没有写 main 函数呢。写个 main 函数,new Hello()就可以了。