求大神解答

以上为源代码我有两个问题:

1、内部类中可以创建静态方法么?如果能为什么我在内部类中的show方法的void前加上static显示错误

2、上述的show方法内的第一条输出语句中HelloWorld.this.name中的this去掉是否可以?如果不能的话为什么

求大神解答,在此先谢谢解答的各位了!

1.说下我的理解:内部类中可以创建静态方法但同时内部类要转為静态内部类。具体涉及到类的加载顺序和相应的静态常量初始化因为普通内部类是依赖外部类的,没有外部类的对象根本获取不到内蔀类的实例(可以把它想象成外部类的成员属性)而java中静态方法是可以直接通过 类名.静态方法名 来拿到直接使用的(在类加载时就已经初始化了),如果你不把内部类改为静态类(想象它变成了静态量脱离了外部类的依赖),就会违反java语法规则因为在没有外部类的对潒的情况下,无法通过 类名.静态方法名 获取那个方法2.由于你的外部类和内部类属性重名,会发生模糊匹配你要是想拿到外部类中的同洺属性值就要加上this

打开App,查看更多内容

}

我要回帖

更多关于 求人解答 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信