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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 忄雾飞扬 中级黑马   /  2013-11-26 16:18  /  1532 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 忄雾飞扬 于 2013-11-27 09:32 编辑
  1.         void method1() {
  2.                 private String s = "6";
  3.                 int i = s.length();
  4.                 System.out.println("string length is " + i);
  5.         }
复制代码

变量s加上private修饰符后就不可以调用获取长度的方法了吗?私有变量不是在本类都有效的吗

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 神马都是浮云

查看全部评分

5 个回复

倒序浏览
楼主在方法内定义private String s="6";这句话会报错吧,应该在方法内定义变量的访问权限是不允许的吧;
代码应该这么写吧:
void method1() {
String s = "6";//取消访问权限
        int i = s.length();
        System.out.println("string length is " + i);        }
或者是
private String s="6";//方法外可以为其定义权限
void method1() {
        int i = s.length();
        System.out.println("string length is " + i);

输出结果应该是1吧
希望对你有帮助

评分

参与人数 1技术分 +1 收起 理由
FFF + 1

查看全部评分

回复 使用道具 举报
private是成员修饰符,你把他在局部当然不行了,你要么你让private String s = "6";在成员的位置上,要么就
String s = "6";主要还是修饰符的问题。
回复 使用道具 举报
修饰符作用范围的问题,局部变量只能用final修饰,不可以通过private修饰
回复 使用道具 举报
本帖最后由 樊志伟 于 2013-11-26 20:18 编辑

private 是成员修饰符,而楼主你的String s只是类中的局部变量,你这么写编译都过不了。
修饰符的用法如下:

修饰类用public,abstract,final和default(默认不写)。
修饰方法用static,final,abstract,public,private,protected,default(默认不写)。
修饰字段用static,final,public,private,protected,default(默认不写)。
在方法中的局部变量是不能用访问控制符public,private,protected等所修饰的。

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 赞一个!

查看全部评分

回复 使用道具 举报
private可以修饰变量、构造器,方法、内部类;在变量前面加private 表示类的私有属性,只可以在类内部访问使用。它不可以修饰局部变量。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马