一个.java文件中有两个类 那么这两个类是什么关系,和同在一个包中的两个类一样吗 求详细解释~~

解决方案 »

  1.   

    当然同包了,你写这两个类的时候不是只写了一个package吗?
      

  2.   


    package test;public class Test {
    public void helloWorld() {
    System.out.println("hello world");
    }
    }class Test2 {
    public void helloWorld() {
    System.out.println("hello world");
    }
    }
    上面是把两个类写在一个.JAVA文件中的你再看一下生成的.class文件,有两个,分别是Test.class Test2.class你再把.class文件反编译一下看看,反编译后的代码:
    Test.javapackage test;import java.io.PrintStream;public class Test
    {
      public void helloWorld()
      {
        System.out.println("hello world");
      }
    }
    Test2.javapackage test;import java.io.PrintStream;class Test2
    {
      public void helloWorld()
      {
        System.out.println("hello world");
      }
    }除了Test2不是public之外,应该和同一个包的两个.Java文件没什么区别,个人意见,如有错误请指教!
      

  3.   

    是同一个包中的,区别在于同一个文件中最多只能有一个public class ,并且public class的名字必须与文件的名字相同。
      

  4.   

    二楼说的对,在生成字节码文件.class的时候,是对每一个类分别生成一个字节码文件,所以他们是一样的
      

  5.   

    是同一个包中的,区别在于同一个文件中最多只能有一个public class ,并且public class的名字必须与文件的名字相同。 
      

  6.   

    同在一个.java文件中的两个类一定同在一个包下,且其中只能有一个public类文件名与public类相同,而同一个包下在不同.java文件中的类是没有这种关系的,但可调用对方
      

  7.   

    当然同包了,你写这两个类的时候不是只写了一个package吗?当然同包了,你写这两个类的时候不是只写了一个package吗?当然同包了,你写这两个类的时候不是只写了一个package吗?当然同包了,你写这两个类的时候不是只写了一个package吗?当然同包了,你写这两个类的时候不是只写了一个package吗?当然同包了,你写这两个类的时候不是只写了一个package吗?当然同包了,你写这两个类的时候不是只写了一个package吗?当然同包了,你写这两个类的时候不是只写了一个package吗?当然同包了,你写这两个类的时候不是只写了一个package吗?当然同包了,你写这两个类的时候不是只写了一个package吗?
      

  8.   

    恩。在同一个包中关系一样的。区别在于同一个文件中最多只能有一个public class ,并且public class的名字必须与文件的名字相同。
      

  9.   

    在同一个包中,但只能有一个为public
      

  10.   

    是能有一个是Public的,所以也没什么意义。
      

  11.   

    但如果你写成内部类的话 就有两个.class文件了
      

  12.   

    同一个.java文件中,只能有一个public修饰的class
      

  13.   

    只有一個是public,可以在本包外訪問
      

  14.   

        定义类的时候有一个命名要求:类名称的每个单词的首字母都必须大写,例如:HelloWorldTest,而对于定义类也有两种形式:1、 使用public class定义:文件名称必须和类名称保持一致,在一个*.java文件之中只能定义一个public class;
    2、 使用class定义:文件名称可以和类名称不一致,但是生成之后的*.class文件是由class定义的类名称,在一个*.java文件之中可以同时定义多个class类,而且在编译的时候会自动的生成不同的*.class文件。同一包中的两个类是可以相互访问的!
      

  15.   

    内部类是写在类里面的类,如,public class OuterClass {
    ...
    private class innerClass{
    ..
     }
    ..
    }
    如果不写在类里面,
    public class c1{}class c2{}这样子,就是同包的类,不过c2不可以是public的,.一个文件只能一个public class且和文件名相同.
      

  16.   

    那当然在同一个包中了,第一行写的package的包中,或者为默认包中……
      

  17.   

    这两个是否只有第一个中能写main函数?