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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pancl 中级黑马   /  2014-7-11 13:48  /  1447 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. class test
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.          method1();
  6.     }
  7.    public static void method1()
  8.     {
  9.        int x=1;
  10.        int y=2;

  11.        method2();
  12.        public static void method2()
  13.        {
  14.                System.out.println(x+y);
  15.        }
  16.    }
  17. }
复制代码
编译会出错,“非法的表达式的开始”是因为在方法内不能在定义方法吗?如果在实际应用中,需要method1和method2并且method1中定义的很多变量都会在mehod2被使用。该如何修改代码结构呢?谢谢了

10 个回复

倒序浏览
本帖最后由 韩天雷 于 2014-7-11 14:04 编辑

函数不能嵌套定义

可以传值
  1. class test {
  2.         public static void main(String[] args) {
  3.                 method1();
  4.         }

  5.         public static void method1() {
  6.                 int x = 1;
  7.                 int y = 2;
  8.                 method2(x, y);
  9.         }

  10.         public static void method2(int x, int y) {
  11.                 System.out.println(x + y);
  12.         }
  13. }
复制代码



回复 使用道具 举报
韩天雷 发表于 2014-7-11 13:59
函数不能嵌套定义

可以传值

谢谢你 作为参数传递是可行的。如果 类似x y的变量很多呢?都作为参数传递是不是显得不方便呢

点评

暂时不知道有其他方法~  发表于 2014-7-11 14:09
回复 使用道具 举报
韩天雷 发表于 2014-7-11 13:59
函数不能嵌套定义

可以传值

看来基础还是好差啊,好些东西都要注意,搞不好自己就犯同样的错误了
回复 使用道具 举报
吴俊勇 发表于 2014-7-11 14:58
看来基础还是好差啊,好些东西都要注意,搞不好自己就犯同样的错误了

没学过的不要自己创造就好~
回复 使用道具 举报
方法中不能定义方法,可以调用方法
回复 使用道具 举报
不能的,方法和方法是平级的,
首先来说什么叫做方法? 具有特定功能的代码块,
所以为了保证的功能的唯一性,把一段代码封装成一个方法,而不能再在方法内部定义方法了.这样的代码的复用性更强.

方法内部可以调用方法,
回复 使用道具 举报
lc2015 中级黑马 2014-7-12 01:04:05
8#
方法和方法是同级的,不能嵌套吧
回复 使用道具 举报
sugar 中级黑马 2014-7-12 21:50:51
9#
方法中不能再定义方法
回复 使用道具 举报
方法中是不能定义方法的,但是可以调用其他的方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马