黑马程序员技术交流社区

标题: String 的长度 [打印本页]

作者: 忄雾飞扬    时间: 2013-11-26 16:18
标题: String 的长度
本帖最后由 忄雾飞扬 于 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修饰符后就不可以调用获取长度的方法了吗?私有变量不是在本类都有效的吗
作者: 王贺    时间: 2013-11-26 16:37
楼主在方法内定义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    时间: 2013-11-26 16:41
private是成员修饰符,你把他在局部当然不行了,你要么你让private String s = "6";在成员的位置上,要么就
String s = "6";主要还是修饰符的问题。
作者: freehiker    时间: 2013-11-26 19:36
修饰符作用范围的问题,局部变量只能用final修饰,不可以通过private修饰
作者: 樊志伟    时间: 2013-11-26 20:12
本帖最后由 樊志伟 于 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等所修饰的。

作者: 张天昊76    时间: 2013-11-26 22:48
private可以修饰变量、构造器,方法、内部类;在变量前面加private 表示类的私有属性,只可以在类内部访问使用。它不可以修饰局部变量。




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