定义类时使用的类名是不是最好不用java中原有的类名,像FileWriter、InputStream就不能被用来做定义的类的名称,是吗?
希望给个解释,谢谢

解决方案 »

  1.   

    最不用这样子的类名,因为当你再要导入例如FileWriter类时,你再用这样子的类名就导致错误。
      

  2.   

    当然了,这是java语言的规范,建议楼主去看看java入门书籍的关于类命名的一些内容,书上讲的很详细的,比如thinking in java。
      

  3.   

    不要用,例如下面:
    import java.io.InputStream;
    public class InputStream {
     public static void main(String []srgs)
     {
     System.out.println("hello!!!");
     }
    }
    就会出现:The import java.io.InputStream conflicts with a type defined in the same file这样的错误编译是通不过的。
      

  4.   

    java有很多东西只是规范~~有时候不这样做也不会报错~~~但是最好还是按规范来~~~~
      

  5.   


    public class 中国{ 
       private String  capital;
       public 中国(){
            this.capital="北京";
       }
    } 试试看行不行。哈哈,瞎玩。
      

  6.   

    public class 中国{ 
      private String  capital; 
      public 中国(){ 
            this.capital="北京"; 
      } 
      public static void main(String[] args)
      {
      中国 dd= new 中国();
      System.out.println(dd.getCapital());
      }
    public String getCapital()
    {
    return capital;
    }
    public void setCapital(String capital)
    {
    this.capital = capital;
    }
    } 看看
      

  7.   

    当然不好了,如果你定义了,就相当于把原有的覆盖了。以后你生成对象的时候就不知道是你
    自己的还是java里面原有的了,如果你定义的类名字和java的类重名你可以定义成FileWriterEx之类的
      

  8.   

    这是java中的命名规范,没有为什么,就好像类名第一个字母要大写一样,你也可以不大写,但是总不是那么规范,类的名字是其实前面还有一些的,是从包开始的。如package1.package2.java类名和package3.package4.java类名,类的名字是一样的。但是变量的类型就不能和java预先定义好的类型一样,负责在编译的时候就会报错,这是我对问题的理解,希望能帮助你~~thinking in java最好有一定的基础在看,否则会晕的
      

  9.   

    最好不要 尤其不要和java.lang包下的class重名,因为系统会自动import java.lang包下的class,这样会发生重名,出现错误。而且这样不利于代码的再利用。
    你可以换一种方式命名,例如InputStream1,InputStr等。