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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Test
{
        public static void main(String[] args)
       {
             public static void A()//这里嵌套方法报错
             {
             }
      }

      public class B//这里嵌套类则不报错
      {}

}

请问class B是不是被当成了Class Test的属性??

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

7 个回复

倒序浏览
感觉这个问题就是java的规定
但是方法中可以定义内部类,内部类中又能定义方法
是否还有什么深层次的原因,我就不知道了
回复 使用道具 举报
在JAVA语言中,在同一个类里面,方法是不能嵌套使用的,但是可以相互调用使用。    在Java中,可以在一个类内部定义另一个类,这种类称为嵌套类(nested class)。嵌套类有两种类型:静态嵌套类和非静态嵌套类。静态嵌套类较少使用,非静态嵌套类使用较多,也就是常说的内部类。其中内部类又分为三种类型:
1、在外部类中直接定义的内部类。
2、在函数中定义的内部类。
3、匿名内部类。

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
方法可以被调用,但是不能嵌套。而类就有内部类一说
回复 使用道具 举报
嵌套class那个,Java这里叫内部类。
函数的嵌套是闭包的意思么?
Java从7开始正在逐步加入这一特性。

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
首先你要弄明白一个问题,方法中套方法的作用是什么,还不是为了其他方法调用此方法方便吗?
那么为什么要嵌套呢?直接写在本类中不就可以了?
再说了,方法可以说是一个类的功能,你听说过功能里面套功能的吗?

而类却不同,因为类里面可以还有对象,比如可以把人看成一个类,而人的身体也可以看成
一个类,而人的身体又属于人这个类,这时候当然可以嵌套了!
关于内部类的问题可以看看视频。。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
Java里面函数只能定义在类级别,其他级别不能定义,但是可以用匿名内部类来模拟函数,实际上只是定义了一个类里面的类里面的函数。
建议多看看内部类那章节的视频,对你会有很大帮助。

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马