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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 ☆枫の云 于 2014-5-13 09:51 编辑

如题,想了半天,也百度了不少资料,还是没懂,有没有大神来个简单易懂的说法{:2_32:}

6 个回复

倒序浏览
内部类就是在一个类的内部定义的类,内部类中不能定义静态成员,因为静态成员不是对象的特性,只是为了找一个容身之处,所以需要放到一个类中而已,这么一点小事,你还要把它放到类内部的一个类中,过分了啊!提供内部类,不是为让你干这种事情,无聊,不让你干。
回复 使用道具 举报
钟成军 发表于 2014-5-11 21:49
内部类就是在一个类的内部定义的类,内部类中不能定义静态成员,因为静态成员不是对象的特性,只是为了找一 ...

这是张孝祥老师的解释
回复 使用道具 举报
钟成军 发表于 2014-5-11 21:51
这是张孝祥老师的解释

张老师,果然霸气{:2_34:}
回复 使用道具 举报
如来是这样啊
回复 使用道具 举报
静态内部类不是可以定义静态成员吗,如果一个内部类的成员是静态的,那么内部类也要定义成static,静态内部类相当于一个外部类
回复 使用道具 举报
静态方法是不需要创建对象就可以直接用类名调用的,而静态内部类定义静态方法需要创建静态内部类的对象,所以定义静态方法没有意义!
class Out{
     static class Inner{
           static method(){};
     }
}
如果需要调用method方法就需要创建对象
Out.Inner in = new  Inner();
in.method();
只是创建静态内部类的时候不需要创建外部类对象而已,静态内部类还是需要创建对象的,所以定义静态方法没有意义
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马