问答详情
源自:7-8 Java 中的方法内部类

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

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();
    }    
}

提问者:qq_叶沐_03755942 2016-08-12 15:25

个回答

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

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

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

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

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

    给楼上点个赞