黑马程序员技术交流社区

标题: java中方法内不能再定义方法吗? [打印本页]

作者: pancl    时间: 2014-7-11 13:48
标题: java中方法内不能再定义方法吗?

  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被使用。该如何修改代码结构呢?谢谢了


作者: 韩天雷    时间: 2014-7-11 13:59
本帖最后由 韩天雷 于 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. }
复制代码




作者: pancl    时间: 2014-7-11 14:07
韩天雷 发表于 2014-7-11 13:59
函数不能嵌套定义

可以传值

谢谢你 作为参数传递是可行的。如果 类似x y的变量很多呢?都作为参数传递是不是显得不方便呢
作者: 吴俊勇    时间: 2014-7-11 14:58
韩天雷 发表于 2014-7-11 13:59
函数不能嵌套定义

可以传值

看来基础还是好差啊,好些东西都要注意,搞不好自己就犯同样的错误了
作者: 韩天雷    时间: 2014-7-11 15:01
吴俊勇 发表于 2014-7-11 14:58
看来基础还是好差啊,好些东西都要注意,搞不好自己就犯同样的错误了

没学过的不要自己创造就好~
作者: 遗失的美好YXJ    时间: 2014-7-11 22:10
方法中不能定义方法,可以调用方法
作者: 北极£莜蓝    时间: 2014-7-11 23:14
不能的,方法和方法是平级的,
首先来说什么叫做方法? 具有特定功能的代码块,
所以为了保证的功能的唯一性,把一段代码封装成一个方法,而不能再在方法内部定义方法了.这样的代码的复用性更强.

方法内部可以调用方法,
作者: lc2015    时间: 2014-7-12 01:04
方法和方法是同级的,不能嵌套吧
作者: sugar    时间: 2014-7-12 21:50
方法中不能再定义方法
作者: 吴杰栋    时间: 2014-7-17 19:28
方法中是不能定义方法的,但是可以调用其他的方法




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