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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. public class  Noname1
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 System.out.println("Hello World!");
  6.                 dome d = new dome();
  7.                 d.fun();
  8.         }
  9. }


  10. class dome
  11. {
  12.         void fun()
  13.         {
  14.                 System.out.println("Hello java!");
  15.                 demo2 e = new demo2();
  16.                 e.fun2();
  17.                 }
  18.         }
  19. }

  20. class dome2
  21. {
  22.         void fun2()
  23.         {
  24.                 System.out.println("Hello java2");
  25.                 dome3 r = new dome3();
  26.                 r.fun3();
  27.         }
  28. }

  29. class dome3
  30. {
  31.         void fun3()
  32.         {
  33.                 System.out.println("nihao");
  34.         }

  35. }
复制代码
第17行 写错了  为什么还能编译成功
第17行写错了 为什么还能执行显示结果
为什么fun3方法不能显示结果?


评分

参与人数 1技术分 +3 收起 理由
lwj123 + 3 赞一个!

查看全部评分

14 个回复

倒序浏览
你这个问题就是你之前已经存在了你创建的对象类.而那个类可能和你当前这个存在一些区别吧...
回复 使用道具 举报
碎流 发表于 2015-1-16 15:03
你这个问题就是你之前已经存在了你创建的对象类.而那个类可能和你当前这个存在一些区别吧... ...

不知道有没有更详细的解答、、、、、
回复 使用道具 举报
有没有人帮我解答一下啊
回复 使用道具 举报
楼主,你的这段代码,错误有两处!
首先,它不可能运行!编译都不能通过!
错误1:在第19行,你多了一个“}”;
错误2:第17行,你要创建类的对象,类名打错了!

把这两处改完了!就能出现你要的结果了!
楼主,你可以按我说的再试试!

QQ截图20150117194501.png (7.07 KB, 下载次数: 49)

QQ截图20150117194501.png

QQ截图20150117194435.png (1.97 KB, 下载次数: 54)

QQ截图20150117194435.png
回复 使用道具 举报
我猜,你这个包中其他的java文件中有demo2.class,并且有fun2 还是public修饰方法,在一个包里都可以调用的。这个是你能通过编译并能运行的原因。
你fun3方法没有显示结果是因为你调用dome2.class中的方法,也就是没有new dome3.class的方法。所以fun3也就没有调用。
回复 使用道具 举报
17 行里你写的是demo2 但是你下面的类是dome 但是你运行没有报错 说明同一个包下 你还有和demo2一样名字的类 所以他没有报编译错误 第2个就是第19行多了半个大括号 大括号一般都是成对出现的 你多了半拉
楼上报纸的解释是对的 这2个错误你修改下 应该就可以运行了 然后你类名首字母一直都不大写么 全是小写字母 这样写虽然不报错 貌似不规范 修改方式1: demo2修改为dome2  我建议d你全修成D 修改方式2 你去在包下去找那个类命名是demo2 然后在内部重新布置代码 19行的大括号就去了吧 那个多了

点评

十万个同意。。  发表于 2015-1-18 13:01
回复 使用道具 举报
我也遇到类似的问题,求大神解释
回复 使用道具 举报
希冀 中级黑马 2015-1-18 00:50:02
9#
不可能通过编译的楼主 17行类名写错了和19行多了一个大括号 所以不会通过编译更别说执行了
回复 使用道具 举报
调用完fun2后多个}就开始出问题了,因为dome2没有问题,所以fun2是可以正确执行的,执行完之后就有问题了
回复 使用道具 举报
enjoy 中级黑马 2015-1-18 12:53:36
11#
。。。。。。。。。。。。。。。。。
回复 使用道具 举报
刚开始看视频的表示看着晕
回复 使用道具 举报
多谢各位大神,我感觉可以了
回复 使用道具 举报
19行多了}  dome2写错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马