鱼C论坛

 找回密码
 立即注册
查看: 1108|回复: 4

[已解决]eclipse报错提示Identifier expected after this token 请问哪里出问题了

[复制链接]
发表于 2023-10-2 16:24:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我分了四个类
people是父类 有个run方法
student和teacher是子类 各自重写run方法、
test 创建两个对象 然后各自调run方法
提示错误
Syntax error on token "run", Identifier expected after this token
请问是哪里出问题了

People类

package itHeimaA2;

public class People {
        public void run() {
                System.out.println("People is running");
        }

}


Teacher类

package itHeimaA2;

public class Teacher extends People{
        public void run() {
                System.out.println("Teacher is running~~~~")
        }
}



Student类

package itHeimaA2;

public class Student extends People{
        public void run() {
                System.out.println("Student is running~~~");
        }

}




Test类
package itHeimaA2;

public class Test {
        People p1 = new Student();
        p1.run();
       
        People p2 = new Student();
        p2.run();
       

}


运行结果如图


代码是直接抄的应该没有抄错 第一次运行成功了 但是不小心按的 ctrl shift f11 然后代码全变色了 关闭窗口 删除原项目 重写后 就这样报错了 请问是哪里出了问题 谢谢各位了
最佳答案
2023-10-2 16:24:41
在Test类中,p1.run()和p2.run()应该在方法中执行,而不是在类中。正确的代码应该是这样的:
package itHeimaA2;

public class Test {
    public static void main(String[] args){
        People p1 = new Student();
        p1.run();

        People p2 = new Teacher();
        p2.run();
    }
}

此外,Teacher类中的run方法缺少一个分号,应该改为:
package itHeimaA2;

public class Teacher extends People{
    public void run() {
        System.out.println("Teacher is running~~~~");
    }
}
eclips报错.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-2 16:24:41 | 显示全部楼层    本楼为最佳答案   
在Test类中,p1.run()和p2.run()应该在方法中执行,而不是在类中。正确的代码应该是这样的:
package itHeimaA2;

public class Test {
    public static void main(String[] args){
        People p1 = new Student();
        p1.run();

        People p2 = new Teacher();
        p2.run();
    }
}

此外,Teacher类中的run方法缺少一个分号,应该改为:
package itHeimaA2;

public class Teacher extends People{
    public void run() {
        System.out.println("Teacher is running~~~~");
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-2 16:24:52 | 显示全部楼层
根据你提供的代码和描述,问题可能出在 Test 类中的代码片段上。你需要将对象的创建和方法调用放在方法中或者构造函数中,而不是直接写在类的定义中。

以下是修复后的代码:
package itHeimaA2;

public class Test {
    public static void main(String[] args) {
        People p1 = new Student();
        p1.run();
        
        People p2 = new Teacher();
        p2.run();
    }
}

在 Test 类中,我们创建了一个 main 方法,并在其中实例化了 StudentTeacher 对象,然后调用它们的 run 方法。

注意,Java 的代码必须放在方法或者构造函数中,而不是直接写在类的定义中。在修复后的代码中,将对象的创建和方法调用放在了 main 方法中。

请确保按照上述方式修改代码并尝试运行。如果还有其他问题,请提供完整的错误信息以帮助我更好地诊断问题。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-2 16:26:22 | 显示全部楼层
问题出在你在Test类中的代码写法上。在Java中,类中的成员变量初始化和方法调用必须在方法体内进行,不能直接写在类的声明部分。

下面是修改后的Test类代码:
java
package itHeimaA2;

public class Test {
    public static void main(String[] args) {
        People p1 = new Student();
        p1.run();

        People p2 = new Teacher();
        p2.run();
    }
}

修改后的代码,将你原先的Test类中的成员变量初始化和方法调用放在了main方法中,并添加了public static void main(String[] args)作为程序的入口点。

另外,注意对于Teacher类中的run方法,缺少了一个分号,在语句结束时需要添加分号。

希望能够解决你的问题,如有其他疑问请随时追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-10-2 17:00:38 | 显示全部楼层
谢谢楼上各位 我又犯低级错误了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 02:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表