我是学习java的新手  有一个问题想请教
创建一个java文件  文件名必须与类名一致  但是如果一个java文件里写两个或两个以上的类  那这样编译会不会出现问题?还是有另外的写法?

解决方案 »

  1.   

    创建一个java文件  文件名必须与类名一致
    ---------------------
    LZ意思我不太明白
    你说的一个java文件是指.java文件?
    如果是的话,这本身就是一个类了一个java文件里写两个或两个以上的类
    -------------------------
    LZ这句话的意思是说类中有内部类吗?
    源文件中只允许有一个和文件名相同的公共类,
    但允许有多个内部类
      

  2.   

    创建一个java文件,里面可以有很多类,但是只能有一个是public的,而且这个public的类名必须和java文件名一样,java是区分大少写的.如果没有public的,类名无需一样.
      

  3.   

    关于2楼的答案,“创建一个java文件,里面可以有很多类,但是只能有一个是public的,而且这个public的类名必须和java文件名一样,java是区分大少写的.如果没有public的,类名无需一样.”
    但经过我的测试,若一个.java文件中没有public类的时候,文件名必须要和其中一个类的名字一样,而且这个类应该是这几个类中被初始化的第一个类,否则编辑器无法找到所需要的类。以上是我用纯文本编辑器编辑完代码后用javac命令编译的。
    但是在eclipse中好像又不需要这样,不知道是不是跟IDE有关?
    我也才学JAVA不久,希望各位前辈指教。
      

  4.   

    关于二楼的答案是正确的 给你举个例子
    class A{      
    } class B{

    public class C{     
    public static void main(String args[]){
    System.out.println(Hello World!);
    }

    上面的程序叫C.java是可以编译通过的 public的这个类 类名与文件名相同即可
    初学者建议你看下 北京尚学堂马士兵的视频 讲解的非常详细
    注意程序的格式 我上面的编排是错误的 因为这个程序把我的空格给trim了懒得写转义字符 
    想快速的提高编程水平建议你去一个培训机构可以少走很多弯路
    欢迎站内沟通
      

  5.   

    你把类跟方法的概念弄混淆了假如你的文件夹下又一个test.java的文件里面的内容为:class test   // -->类名 必须与你的文件名相同 (test.java)
    {
        public static void main(String[] args) // --> 方法名
        {
            printTest();
        }
        
        public void printTest()               // --> 方法名
        {
            System.out.println("Hello World!");
        }
    }
      

  6.   

    创建一个java文件,里面可以有很多类,但是只能有一个是public的,而且这个public的类名必须和java文件名一样,java是区分大少写的.如果没有public的,类名无需一样
    另外关于三楼的问题,在我这边并没有出现
    A.java文件:
    class Super1 {
        public static int s = 100;
        void abc() {
            System.out.println("s1 " + s);
        }
    }
    class Sub {
        private int s = 200;
        public static void main(String[] args) {
             System.out.println("s2 " + s);    }}
    cmd如下:
    javac A.java
    java Sub
    s2 200
      

  7.   

    只需要理解到这个层次就可以了:
       java文件名必须是和其public 修饰的class一致,区分大小写,且一个java文件中只能有一个public 的class,当然也可以没有(一般很少情况下一个java文件中没有public修饰的class )。
      

  8.   

    类里面不能包含类。可以继承。如果类里面包含类的话编义都通不过。====================================别误导人家呀,内部类不在类里面在那里呢?
    ------------------------
    java文件里写两个或两个以上的类     那这样编译会不会出现问题?还是有另外的写法?一样写的,只不过用public修饰的类只能有一个,且文件名为此类名
      

  9.   

    主类public修饰的类,作为文件名字。
    其他类可以在一起的。
    A.java
    ---------
    public class A{
       class C{
       }
    }
    class B{
    }---
    end A.java