黑马程序员技术交流社区

标题: 求解 [打印本页]

作者: 呆呆呆    时间: 2013-12-18 10:46
标题: 求解
本帖最后由 呆呆呆 于 2013-12-18 16:20 编辑

  1. <P>public class Something {

  2. void doSomething () </P>
  3. <P>{</P>
  4. <P>private String s = "";
  5. int l = s.length();

  6. }

  7. }
  8. </P>
复制代码

这段代码有什么错误啊?
作者: 公子-醉香    时间: 2013-12-18 11:01
本帖最后由 公子-醉香 于 2013-12-18 11:02 编辑
  1. public class Something {
  2.         
  3.         void doSomething ()
  4.         {
  5.         private String s = "";//错误分析  局部变量不能用private来修饰,既然定义它为局部变量,就完全没有必要用
  6.                                                   //private来修饰它,因为它的整个作用范围就是doSomething()方法体中。java中这种识别机制是很强悍的。
  7.         int l = s.length();
  8.         System.out.println(l);
  9.         }
  10.         
  11.         //修改后
  12.         private String str = "";  //这样,它的作用范围就是在Something这个类中,出了这个类,它就作用不到了。
  13.         void doSomething1 ()
  14.         {
  15.         int len = str.length();
  16.         System.out.println(len);
  17.         }
  18. }
复制代码

作者: 为我想要的去努    时间: 2013-12-18 11:20
局部变量里不能用private修饰 ,默认的就是在这个方法体起作用!这编译是不通过的!会给你报个 参数的修饰符是非法的编译错误!
作者: 刘松703    时间: 2013-12-18 11:25
其实就直接把private去了就行了,
作者: 闭眼就天黑    时间: 2013-12-18 20:25
画蛇添足




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