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

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

正在回答

3 回答

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

1 回复 有任何疑惑可以回复我~
#1

qq_叶沐_03755942 提问者

懂了!非常感谢!
2016-08-12 回复 有任何疑惑可以回复我~

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

2 回复 有任何疑惑可以回复我~
#1

弑流星

说的太好了,让我一下明白了好几个问题,以后能灵活应用到就太好了
2016-10-24 回复 有任何疑惑可以回复我~

给楼上点个赞

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

举报

0/150
提交
取消

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

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