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

有大佬回答一下为什么这里调方法需要新建一个变量去调用、

public class Hello {

    private String name = "爱慕课";

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

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

        // 这里为什么要新建一个变量去调用
        int newScore=i.getScore();

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


正在回答

2 回答

int newScore=i.getScore();

这里这么一句话的原因在下面一行代码,即:

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

因为这行代码里有newScore这个变量要输出,但程序中没有定义,所以你就要定义这个变量,即就有int newScore=?~~(这里为什么是int,后面解释,先往下看。)~~~那么它的值是什么呢,我们看他要输出什么,他要输出的是:

"\n加分后的成绩:" + newScore

也就是加分后的成绩,而加分后的成绩怎么获取呢?哪里有加分后的成绩的定义呢?~~看一看你的方法内部类代码:

class MInner {
            int score = 83;
            public int getScore() {
                return score + 10;
            }
        }

是不是return了score+10,这不就是加分后的代码吗?再看它这个方法的返回值类型,是不是int?这里就解释了为什么上面定义你的newScore的类型是int型的原因了,而它的值不也出来了吗?用 对象名.方法名 不就调用这个方法了吗?不就是i.getScore()吗?这不就是最上面那个?的地方该写的东西吗?

然后你再把定义变量跟给变量赋值结合起来,是不是

int newScore=i.getScore();

这个?ok了吗?

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

是用来强制转换类型的吗?23333

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

举报

0/150
提交
取消

有大佬回答一下为什么这里调方法需要新建一个变量去调用、

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