黑马程序员技术交流社区

标题: 才发现类可以重名 [打印本页]

作者: 雨过山更翠    时间: 2014-11-29 21:05
标题: 才发现类可以重名
  1. class Father
  2. {
  3.         void show()
  4.         {
  5.                 System.out.println("外部类");
  6.         }
  7.        
  8. }

  9. class Demo
  10. {
  11.         static class Father
  12.         {
  13.                 void show()
  14.                 {
  15.                         System.out.println("内部类");
  16.                 }
  17.         }
  18. }

  19. class Test
  20. {
  21.         public static void main(String[] args)
  22.         {
  23.                 new Father().show();
  24.                 new Demo.Father().show();
  25.         }
  26. }
复制代码

作者: wf111sxwf    时间: 2014-11-29 21:19
首先这不是重名。内部类的实际名称是:内部类$内部类    这和外部其他类明显不重名啊 兄弟~
作者: 壹贰叁    时间: 2014-11-29 21:28
内部类的名字不是有外部类加内部类组成的吗?应该不算可以重名吧
作者: sk0806    时间: 2014-11-29 21:29
楼上正解,这个是内部类
作者: wf111sxwf    时间: 2014-11-29 21:29
我在1楼的会打打错字了应该是 外部类$内部类,哎 手残伤不起啊
作者: (づ ̄_3 ̄)づ    时间: 2014-11-29 21:45
wf111sxwf 发表于 2014-11-29 21:29
我在1楼的会打打错字了应该是 外部类$内部类,哎 手残伤不起啊

其实可以编辑一楼的:D
作者: 雨过山更翠    时间: 2014-11-29 22:18
壹贰叁 发表于 2014-11-29 21:28
内部类的名字不是有外部类加内部类组成的吗?应该不算可以重名吧

哦,就是的
作者: 雨过山更翠    时间: 2014-11-29 22:19
本帖最后由 雨过山更翠 于 2014-11-30 11:53 编辑
wf111sxwf 发表于 2014-11-29 21:29
我在1楼的会打错字了应该是 外部类$内部类,哎 手残伤不起啊

$这个符号是什么意思,求教
作者: wf111sxwf    时间: 2014-11-30 10:20
雨过山更翠 发表于 2014-11-29 22:19
$这个符号是什么意思,求教

你写一个内部类编译一下看看 编译出来的class文件的名字就是这个了,至于为什么要用这个符号来表示呢。这估计的问詹姆斯.高斯林了~~~哈哈
作者: wf111sxwf    时间: 2014-11-30 10:22
(づ ̄_3 ̄)づ 发表于 2014-11-29 21:45
其实可以编辑一楼的

我擦。。。才知道。哎呀。。。感谢提醒:'(
作者: 雨过山更翠    时间: 2014-11-30 11:51
wf111sxwf 发表于 2014-11-30 10:20
你写一个内部类编译一下看看 编译出来的class文件的名字就是这个了,至于为什么要用这个符号来表示呢。这 ...

我之前也看到了,但是很纳闷怎么有乱码了,还没注意到是内部类的。
作者: 杨金龙    时间: 2014-11-30 19:29
可以重名,但是得在不同的包中
作者: 冬天的雪    时间: 2014-11-30 19:44
内部类不同于外部类
作者: 斷灬dian    时间: 2014-12-30 06:53
来学习。。
作者: as604049322    时间: 2015-1-3 10:47
原来是这种所谓的重名啊?哈哈
作者: Y_木头人    时间: 2015-1-3 21:18
都是大神啊。。
作者: 清浅。。    时间: 2015-1-3 22:45
真(da)牛(sha)逼(diao),看来你基础学的很渣啊!比我还无聊啊!~加油学吧兄弟!
作者: Jason996    时间: 2015-1-3 23:18
类是不能重名的兄弟。你的这是内部类
作者: 没伞的孩子    时间: 2015-1-7 14:46
提出问题就是好孩子
作者: 李票    时间: 2015-1-7 18:07
可以把这个内部类看作是成员函数,并且是静态的,可以直接被类名所调用,一个类的成员函数名是可以和另外的类名相同。
作者: 路尽鹭飞    时间: 2015-1-7 21:58
从来没听说过类会重名,进来看看,看完笑了




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