求答!这是为什么啊?

img


我明明是比这着书上打的为什么运行不出来啊?
还有怎么吧上边的变成class开头,下边的变成public开头?

你的read、setAge和setName这些函数应该放在类Student这个类里面,用public修饰。
Example02需要重新建个java文件。不同的类不要放在一个文件里。
Studnet.java文件:

public class Student{
    private String name;
    private int age;
    public void setName(QString name){
        this->name = name;
    }
    public void setAge(int age){
        this->age = age;
    }
    public void read(){
        System.out.println("大家好,我是"+name+",年龄"+age);
    }

    
};

Example02.java文件:



class Example02{
    public static void main(String[] args){
        Student stu= new Student;
        stu.setName("张三");
        stu.setAge(18);
        stu.read();
};

你应该是这样的结构:
文件名要和类名一致,文件名改为example02

public class example02 { 
    public static class Student {

           
public static void main(String[] args) {

多个类在同一个文件时,这里有几点需要注意:

  1. 主类名(public 修饰的)必须与文件同名。

你的类结构是这样的,没问题。
2. main方法,必须写在主类中。
你的main方法写在非主类中了,所以不对。
3. 一个文件中,只能有一个public修饰的类。
你的类没问题。
所以,问题在于,main方法应该放在主类中,而不是非主类中,还有报错是因为Student类中缺少setAge()方法。

img