为了账号安全,请及时绑定邮箱和手机立即绑定

为什么newScore不能做方法内部类的对象啊??

public class HelloWorld {

    

    private String name = "爱慕课";

    

    // 外部类中的show方法

    public void show() { 

// 定义方法内部类

class MInner {

int score = 83;

public int getScore() {

return score + 10;

}

}

        

// 创建方法内部类的对象

        MInner newScore=new MInner();

        

        // 调用内部类的方法

newScore.getScore();

        

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

}

    

// 测试方法内部类

public static void main(String[] args) {

        

// 创建外部类的对象

        HelloWorld mo=new HelloWorld();

        

        // 调用外部类的方法

mo.show();

}

}


正在回答

4 回答

// 创建方法内部类的对象

    MInner i = new MInner();

// 调用内部类的方法

   int newScore = i.getScore();


0 回复 有任何疑惑可以回复我~

你好,按照题目的意思newScore应该是一个int型的变量,所以你的MInner newScore=new MInner();语句不正确,创建的对象名不能是newScore。你可以改下例如改为MInner mi=new MInner();即创建一个名为mi的方法内部类对象,然后声明一个题目要求的名为newScore的int变量接受方法返回值, 即int newScore =im.getScore();

0 回复 有任何疑惑可以回复我~

你确定你这样创建内部类对象 有意义吗 为什么不在main函数里创建呢?


0 回复 有任何疑惑可以回复我~
#1

等风吹c 提问者

有意义啊,MInner是非静态的内部类,main是静态的,所以不能在主函数里创建,我上面程序输出错误,int newScore=me.getScore();输出newScore就行了
2018-07-11 回复 有任何疑惑可以回复我~

好像明白了,这样输出的只是对象名,并没有输出方法的结果 ,,

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么newScore不能做方法内部类的对象啊??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信