黑马程序员技术交流社区

标题: 为什么函数中的变量私有化,会提示非法的表达式开始 [打印本页]

作者: 追逐    时间: 2014-3-15 20:32
标题: 为什么函数中的变量私有化,会提示非法的表达式开始
本帖最后由 何伟超 于 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();
        }
        
}
作者: Mid_Wei    时间: 2014-3-15 20:39
成员函数内部的局部变量不能被 private 修饰
作者: 焚雨成灰    时间: 2014-3-15 20:43
private只能修饰成员变量,你那个x是局部变量
作者: 黄飞1991    时间: 2014-3-15 20:55
private int x = 5;  x是局部变量,private不能修饰局部变量。private能修饰成员变量,成员函数。
作者: 往事如烟    时间: 2014-3-15 21:01
void show() { }是一个方法体,在方法体里面的成员变量是不能用private修饰的。
作者: 追逐    时间: 2014-3-15 23:59
谢谢各位大神。小弟明白了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2