A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 何伟超 于 2014-3-16 01:14 编辑

class Outer {

        private int x = 3;
        class Inner {
                private int x = 4;
                void show() {
                        private int x = 5; //这里为什么会提示非法的表达式开始?????
                        System.out.println("x = " + x);
                        System.out.println("x = " + this.x);
                        System.out.println("x = " + Outer.this.x);
                }
        }
        
        public void show() {
                Inner in = new Inner();
                in.show();
        }
        
}

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

5 个回复

倒序浏览
成员函数内部的局部变量不能被 private 修饰
回复 使用道具 举报
private只能修饰成员变量,你那个x是局部变量
回复 使用道具 举报
private int x = 5;  x是局部变量,private不能修饰局部变量。private能修饰成员变量,成员函数。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
void show() { }是一个方法体,在方法体里面的成员变量是不能用private修饰的。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
谢谢各位大神。小弟明白了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马