为什么不能用newScore为内部类的对象名 然后再调用? 一定要用int吗?? 有点懵。。。

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

iifyou

2020-09-10 00:34

//外部类

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.show();

        

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

}

    

// 测试方法内部类

public static void main(String[] args) {

        

// 创建外部类的对象

HelloWorld   mo =new HelloWorld();

        

        // 调用外部类的方法

mo.show();

}

}


写回答 关注

3回答

  • 吃代码狂魔
    2020-11-14 17:38:36
    1. newScore是个对象,直接输入是得不到分数的

    2. newScore.show();调用后该方法的返回值没有变量接收,因此无法改变分数。

  • 小靓仔1
    2020-09-16 21:55:29

    public class HelloWorld {

        

        private String name = "爱慕课";

        

        // 外部类中的show方法

        public void show() { 

    // 定义方法内部类

    class MInner {

    int score = 83;

    public int getScore() {

    return score + 10;

    }

    }

            

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

            MInner a=new MInner();

            

            // 调用内部类的方法

            

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

    }

        

    // 测试方法内部类

    public static void main(String[] args) {

            

    // 创建外部类的对象

            HelloWorld mo=new HelloWorld();

            

            // 调用外部类的方法

    mo.show();

    }

    }


  • weixin_慕瓜7303060
    2020-09-11 11:19:09

    int 是在定义新变量的类型,实例化后得把得到的方法进行调用,然后对newScore进行赋值

Java入门第二季 升级版

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

531107 学习 · 6311 问题

查看课程

相似问题