为什么System.out.println()放到注释的地方就出错,放到内部类外面就可以执行?

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

qq_叶沐_03755942

2016-08-12 15:25

public class Muk2_8{
    private String name = "我爱";
    public void show(){
        class Minner{
            int score = 90;
            public int getScore(){
                return score + 10;                
            }
            //System.out.println("姓名:"+name);
            //System.out.println("加分后成绩:"+newScore);    
        }    
        Minner hello = new Minner();
        int newScore = hello.getScore();
        System.out.println("姓名:"+name);
        System.out.println("加分后成绩:"+newScore);        
    }
    public static void main(String[] args){
        Muk2_8 wi = new Muk2_8();
        wi.show();
    }    
}

写回答 关注

3回答

  • qq_Sunshine_2013782764
    2016-08-12 15:47:53
    已采纳

    类里面只能有对象和方法啊,你的输出语句不是对象也不是方法,放到外面就是show()方法的一部分,当然可以啊

    qq_叶沐_...

    懂了!非常感谢!

    2016-08-12 15:55:06

    共 1 条回复 >

  • 慕粉3805224
    2016-08-12 15:59:02

    这是因为生命周期的问题,方法内部类不能访问方法中的局部变量,除非设置为final,因为方法执行结束时变量就消失了,但是内部类的对象可能还是存在的,故此!

    弑流星

    说的太好了,让我一下明白了好几个问题,以后能灵活应用到就太好了

    2016-10-24 11:25:40

    共 2 条回复 >

  • 慕函数5405087
    2016-08-12 15:51:49

    给楼上点个赞

Java入门第二季 升级版

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

530559 学习 · 6091 问题

查看课程

相似问题