黑马程序员技术交流社区
标题:
一个内部类的问题
[打印本页]
作者:
夏凡
时间:
2013-3-28 07:42
标题:
一个内部类的问题
本帖最后由 夏凡 于 2013-3-28 07:50 编辑
程序第九行 int x = 3; 前面加 private为什么会报错”非法的表达式“?
class Outer
{
private int x = 1;
class Inner
{
private int x = 2;
private void founc()
{
int x = 3; //此处为什么加private会报错"非法的表达式"
System.out.println("founc_x = "+x); //由内而外分别输出x
System.out.println("inner_x = "+this.x);
System.out.println("outer_x = "+Outer.this.x);
}
}
void method()
{
Inner in = new Inner();
in.founc();
}
}
public class InnerClass
{
public static void main(String[] args)
{
Outer out = new Outer();
out.method();
}
}
复制代码
作者:
随风而去
时间:
2013-3-28 07:48
int x = 3; //此处为什么加private会报错"非法的表达式"
- -! 方法里面能够声明私有属性么??
只有类里面才可以设置访问权限 方法的作用域属于局部作用域 ,肯定不能设置私有访问权限
作者:
谭辉
时间:
2013-3-28 08:03
成员变量或者成员函数才能声明为private,当然内部类也可以声明为private
int x = 3;在函数体内,是局部变量,不能声明为private
作者:
丘凤光
时间:
2013-3-28 08:15
类的成员可以用private、public等权限关键字修饰,函数的变量不可以用权限关键字修饰。
作者:
我手心里的宝
时间:
2013-3-28 08:55
private public 为类成员变量修饰符,不可以修饰局部变量
修饰成员修饰符:private public protected 默认
类成员修饰符:public 默认 内部类的话可以用成员的修饰符
作者:
董延京
时间:
2013-3-28 10:14
public,priveta,protected,以及默认是用来修饰类中的成员变量的吧,方法中的变量是局部变量,没这些修饰符的。
作者:
赵喜平
时间:
2013-3-28 10:21
static,public,protected,private是成员变量修饰符,
楼主现在是在试图用成员变量修饰符修饰局部变量,是语法错误
作者:
HM谢文辉
时间:
2013-3-28 11:27
成员变量在方法结束后就释放了,定义成private也没用。
作者:
tshch1989
时间:
2013-3-28 12:37
int x=3 中x是局部变量,不能用成员修饰符private修饰,java语法中就这么规定的,没有为什么哦!
作者:
陆旭东
时间:
2013-3-28 13:35
修饰符可以用于修饰类的成员变量,但是方法中的变量就不用修饰符修饰了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2