请问这样的写法不可以吗?

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

苍井窿_

2016-11-13 15:54

//外部类
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回答

  • 大锅饭咕
    2016-11-13 16:04:25
    已采纳

    http://img.mukewang.com/58281e33000193d704990033.jpg

    这个newScore是你创建的内部类对象,不是一个变量,这块应该是newScore.getjScore();

    苍井窿_

    非常感谢!这几天查了资料弄明白了谢谢

    2016-11-15 13:49:01

    共 1 条回复 >

  • 慕函数4910142
    2016-11-15 09:55:55

    newScore只是你创建的对象,你没赋值,没定义变量类型没用,如果想要直接调用内部类的方法显示如下就可以:

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

    苍井窿_

    明白了非常感谢

    2016-11-15 13:50:07

    共 1 条回复 >

  • 慕粉4345275
    2016-11-13 16:05:51

    如果想要获取地址,则需要调用toString()的方法

    苍井窿_

    是要赋值的 现在弄明白了谢谢

    2016-11-15 13:49:39

    共 1 条回复 >

  • 慕粉4345275
    2016-11-13 16:04:28

    方法内部类只能在方法中调用

    苍井窿_

    非常感谢!这几天查了资料弄明白了谢谢

    2016-11-15 13:49:17

    共 1 条回复 >

Java入门第二季 升级版

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

530556 学习 · 6091 问题

查看课程

相似问题