黑马程序员技术交流社区

标题: 这段代码错在哪里??? [打印本页]

作者: ziyu0971    时间: 2015-2-12 16:06
标题: 这段代码错在哪里???
public class Something {
   void doSomething () {
       private String s = "";
       int l = s.length();
   }
}       
我觉得在主函数中调用doSomething ();只是没有反应而已,没有啥错误那?求解???



作者: 菠菜树    时间: 2015-2-12 18:30
我是菜鸟我也不知道这段代码错在哪里,不知道你能不能放出全部代码看看,也可能是你调用的时候出现错误吧
作者: 鸿鹄2008    时间: 2015-2-12 21:12
这个函数doSomething ()算s
作者: 鸿鹄2008    时间: 2015-2-12 21:17

这个函数doSomething ()算s的长度,算完后没有把结果返回
把结果值返回,并返回类型为int就可以了
  1. int doSomething () {
  2.        private String s = "";
  3.        int l = s.length();
  4.        return l;
  5.    }
复制代码



作者: Sylvanas    时间: 2015-2-12 23:47
因为没错,所以才没什么反应的啊
作者: play1369    时间: 2015-2-13 00:59
doSomething ()是非静态的,主方法怎么能调用?
再者private是成员修饰符,怎么能在方法内定义用?
作者: ziyu0971    时间: 2015-2-13 15:38
鸿鹄2008 发表于 2015-2-12 21:17
这个函数doSomething ()算s的长度,算完后没有把结果返回
把结果值返回,并返回类型为int就可以了

恩,但是就算是返回值类型是void型,但是编译时候报错那、、、
作者: ziyu0971    时间: 2015-2-13 15:41
play1369 发表于 2015-2-13 00:59
doSomething ()是非静态的,主方法怎么能调用?
再者private是成员修饰符,怎么能在方法内定义用? ...

主函数应该是可以调用的。。。
作者: 鸿鹄2008    时间: 2015-2-13 21:15
本帖最后由 鸿鹄2008 于 2015-2-13 21:19 编辑
ziyu0971 发表于 2015-2-13 15:41
主函数应该是可以调用的。。。

doSomething()是非静态的,
主方法是静态的,要调用doSomething( )方法,要建这个Something类的对象
比如: new Something( ).doSomething( );如果doSomething也是静态的,那属于类的,与对象无关,用类名直接调用:  Something.doSomething( );




至于那个private 修饰方法里的变量,这个我也不懂
不过把它注释后,报错就没了

00编译报错.JPG (22.23 KB, 下载次数: 92)

00编译报错.JPG

作者: chensc    时间: 2015-3-5 19:16
学习学习!
作者: lang    时间: 2015-3-6 16:10
本帖最后由 lang 于 2015-3-6 16:23 编辑

private只能修饰成员
你调用doSomething ()方法是想干什么,是想打印出来还是传递参数?你不打印出来你就能看见程序运行没?
作者: 弹剑高歌踏浪行    时间: 2015-3-6 17:36
好多大神  我来学习学习
作者: ㏒假™面具    时间: 2015-3-7 13:33
你想让他有什么反应? 你既没打印 也没有其他操作。另外局部变量私有化? 你见过这种格式?
作者: qq8921310    时间: 2015-3-7 13:54
有反应就是error
作者: shaoshuai    时间: 2015-3-9 09:41
你private来修饰局部变量?private只能来修饰全局变量




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