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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 来明坤 中级黑马   /  2012-7-6 17:45  /  2741 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Something {
  void doSomething () {
       private String s = "";
       int l = s.length();
   }
}
错在哪  

12 个回复

正序浏览
函数中,局部变量被私有啦。这个只能在本函数中有效,不能被外部访问到。将private给去了。
回复 使用道具 举报
Java有很修饰符,而且范围有区别
类修饰符      :public、default、abstract、final、strictfp
接口修饰符    :public、default、abstract、strictfp
构造器修饰符  :public、protected、default、private
全局变量修饰符:public、protected、default、private、static、transient、volatile、final
方法修饰符    : public、protected、default、private、abstract、static、final、native、synchronized、strictfp
内部类        :public、protected、default、private、static、abstract、final
局部变量修饰符:final

private  和 public没有对应关系
private可以修饰变量、构造器,方法、内部类;在变量前面加private 表示类的私有属性,只可以在类内部访问使用;

这个常识性的问题,而且容易记混的,最好对比着记,希望能有所帮助
回复 使用道具 举报
权限修饰符不能定义局部变量,因为局部变量存在栈里,用一次就没了
private String s = "";这句出错了

点评

原来是这样  发表于 2012-7-8 23:08
回复 使用道具 举报
没有定义主函数,程序执行时找不到入口。
回复 使用道具 举报
private删了
回复 使用道具 举报
new 黑马 ,提醒你一下,问完问题后要记得及时回帖,要不告诉我们你自己解决了,要不根据大家的建议进一步的补充说明继续问出你的疑问,记住回帖是一种美德,
给回帖人一个答复是一种道德。



                                    给黑马论坛建立好的风气,是我们大家的责任。因为我们都想成为真正的黑马,不要让它的起点堕落!!谢谢~

评分

参与人数 1黑马币 +20 收起 理由
职业规划-刘倩老师 + 20 赞赞赞!!!

查看全部评分

回复 使用道具 举报
私有变量定义到了函数里了 !要么你就定义为 final   ! 要么你改成下面代码试试!
public class Something {
  private String s = "";
  void doSomething () {
      
       int l = s.length();
   }
}
回复 使用道具 举报
就目前来看,楼主这段代码没有任何问题啊,你得把完整的发出来。这个要是就是你的全部代码的话,那你就是没有主函数啊
回复 使用道具 举报
本帖最后由 郑庆伟 于 2012-7-6 18:01 编辑

把原代码发出来吧
回复 使用道具 举报
没有主函数public static void main(String[] args)
回复 使用道具 举报
没有完整代码谁知道错在哪儿啊?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马