黑马程序员技术交流社区

标题: 命令行乱码? 神马情况? [打印本页]

作者: 赵玮_Tom    时间: 2012-5-10 13:00
标题: 命令行乱码? 神马情况?
刚刚写了一个半成品的代码,用命令行编译,出现命令行乱码,第一次出现这种情况。
检查发现java命令和javac命令一切正常,代码也没啥问题。但发现没有生成Con.class文件。郁闷!求解
  1. class Res
  2. {
  3. private String name;
  4. private String sex;

  5. public void setName(String name)
  6. {
  7. this.name=name;
  8. }
  9. public void setSex(String sex)
  10. {
  11. this.sex=sex;
  12. }
  13. public String getName()
  14. {
  15. return this.name;
  16. }
  17. public String getSex()
  18. {
  19. return this.sex;
  20. }
  21. }
  22. class Pro implements Runnable
  23. {
  24. private Res res;
  25. private boolean mark = true;
  26. public Pro(Res res)
  27. {
  28. this.res=res;
  29. }
  30. public void run()
  31. {
  32. while(true)
  33. {
  34. if(mark)
  35. {
  36. res.setName("张三");
  37. res.setSex("男");
  38. this.mark=false;
  39. }
  40. else
  41. {
  42. res.setName("rose");
  43. res.setSex("female");
  44. this.mark=true;
  45. }
  46. }
  47. }
  48. }
  49. class Con implements Runnable
  50. {
  51. private Res res;
  52. public Con(Res res)
  53. {
  54. this.res=res;
  55. }
  56. public void run()
  57. {
  58. while(true)
  59. {
  60. System.out.println(res.getName()+"---"+res.getSex());
  61. }
  62. }
  63. }
  64. public class ThreadDemo
  65. {
  66. public static void main(String args [])
  67. {
  68. Res res = new Res();
  69. new Thread(new Pro(res)).start();
  70. new Thread(new Con(res)).start();
  71. }
  72. }
复制代码
注:后来把Con(消费者类名)稍作改动,改为Conn,便一切正常。各位大神有木有遇到类似情况,我感觉见鬼喽{:soso_e103:},附乱码截图。求教

7.png (9.14 KB, 下载次数: 21)

7.png

作者: 赵玮_Tom    时间: 2012-5-10 14:18
没人遇到过么{:soso_e132:}
作者: 韩慧阳    时间: 2012-5-10 15:24
因为Con是Windos保留的一个文件名,自动生成文件名为Con的类文件当然要冲突,所以会出现乱码!
所以尽量不要用Con这个作为类名或文件名。
作者: 韩慧阳    时间: 2012-5-10 15:24
因为Con是Windos保留的一个文件名,自动生成文件名为Con的类文件当然要冲突,所以会出现乱码!
所以尽量不要用Con这个作为类名或文件名。
作者: 赵玮_Tom    时间: 2012-5-10 16:21
韩慧阳 发表于 2012-5-10 15:24
因为Con是Windos保留的一个文件名,自动生成文件名为Con的类文件当然要冲突,所以会出现乱码!
所以尽量不 ...

哦,是这样,谢谢!
作者: 黄坚声    时间: 2012-5-10 16:51
我照你说的问题尝试了一下,发现无法创建名为Con.java,因为与系统的文件重命名冲突!
我根本没有机会看到乱码,不知道你是怎么弄出乱码的。
作者: 黄坚声    时间: 2012-5-10 16:54
我明白了,给类起名字的时候,不能命名为Con,否则与系统的Con文件冲突,所以有乱码!其实,我以前也没遇到过这种情况。




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