为什么定义一个新的newScore,内部类方法中newScore=score+10不可以

来源:7-8 Java 中的方法内部类

慕盖茨3191008

2018-11-06 10:10

public class Hello {

    private String name = "爱慕课";

    // 外部类中的show方法
    public void show() {
        // 定义方法内部类
        class MInner {
            int score = 83;
            int newScore=0;
            public int getScore() {
                newScore=score+10;
            }
        }

        // 创建方法内部类的对象
        MInner i=new MInner();
        i.getScore();

        System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore);
    }


写回答 关注

4回答

  • 钢铁直男阿强
    2019-01-26 14:16:00

    你的方法内部类中定义的方法是int型的要一个返回值

  • 钢铁直男阿强
    2019-01-26 14:12:15

    你的内部类定义在外部类的方法中

  • 慕神6839130
    2018-11-23 15:06:56
    1. 首先你的newScore是在方法内部类中定义的,并不能在方法外部使用。因为方法内部定义的变量为局部变量,其作用域为从此变量定义开始至包含该变量的块。

    2. 你的内部类的方法并没有返回。

  • majoege
    2018-11-06 10:42:12
    1. newScore这个变量没有声明

    2. public int getScore()方法是一个返回int的方法,你的newScore=score+10;没有return啊

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530649 学习 · 6091 问题

查看课程

相似问题