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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 韩松范 于 2013-3-12 02:37 编辑

public class Test {
    void function () {
        private String s = "";  //此处报错!
        int l = s.length();
    }
}

评分

参与人数 1技术分 +1 收起 理由
李培根 + 1 鼓励下

查看全部评分

5 个回复

倒序浏览
方法体内不能使用访问控制修饰符。这样是没有任何意义的
局部变量只在方法体内有效。

评分

参与人数 1技术分 +1 收起 理由
李培根 + 1 赞一个

查看全部评分

回复 使用道具 举报
因为private只能修饰类中的成员,而不是方法中的局部变量
回复 使用道具 举报
本帖最后由 罗海云 于 2013-2-28 21:36 编辑

访问修饰符是针对类的成员和方法的,局部变量不行.public、private和protected这都是针对类的成员和方法来说的局部变量真正说来并不属于类变量.而且
方法内部的变量本来都是私有的,不需要使用“private”、“public”等修饰符.所以会报错..
回复 使用道具 举报
哥们,private是个访问范围修饰符,首先JAVA中规定修饰符只能用来修饰类,类成员变量,类方法!而你这个private修饰在 局部变量 上 ,我是这么理解的: 局部变量 只能在局部使用,假设JAVA不报错,你觉得这个修饰符有什么意义呢?你用不用修饰符他都只作用于此相应方法中,你觉得呢?说句通俗的话就是说JAVA代码不允许出现废话!   

评分

参与人数 1技术分 +1 收起 理由
李培根 + 1 赞一个

查看全部评分

回复 使用道具 举报
private 只能修饰成员变量!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马