`
scorpiomiracle
  • 浏览: 261176 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

一个java文件可以有多个类,但只能有一个与java文件名同名的public类

阅读更多
package com.test;

public class A{
 int i = 0;
}

class B {
 String str = "b";
}

class C {
 String str = "c";
}
 

编译后的class文件:
1.在一个文件里定义了几个类的时候,:
  public class A {}   
  class B {}   
  class C {}
  
  这样每个class会生成一个 .class文件  
   
2.定义了内部类的时候,
  public class A {   
         class B {   
         }   
  }
  
  这会产生两个class文件,一个A.class,一个A$B.class  
   
3.使用了匿名类的时候, 
  public class A {   
          void xxx() {   
              button.addActionLisener(new ActionListener() {...});   
          }   
  } 
  
  这也会产生多个class,一个A.class,一个A$1.class 
分享到:
评论
2 楼 dingherry 2013-04-07  
1.public class A {}     
2.class B {}     
3.class C {} 

B\C默认是public的吗?
1 楼 dingherry 2013-04-07  
1.public class A {}     
2.class B {}     
3.class C {} 

相关推荐

    关于如何在DOS命令行模式下编译JAVA文件或工程的问题

    接下来,我们探讨如何编译和运行包含多个Java文件的工程: 1. 同样,打开DOS命令行窗口并进入工程目录。 2. 假设工程中有一个名为`start.java`的文件,其中包含了主方法`main()`。 3. 要编译整个工程,可以使用`...

    2022年Java入门系统Java基础知识部分总结.docx

    在 Java 中,一个 Java 文件中可以有多于一个类定义,但是只能有一个 public class 定义,且与文件同名。假如一个 Java 源文件中没有 public 类,那么每个类的名字没有特别的规章,不必与文件同名。在编译后产生的 ...

    Java程序设计试卷与答案

    2. Java源程序编译:一个源文件可以包含多个类定义,但只有一个公共类(public class)可以作为文件名。如果源文件以B.java命名,编译后默认生成一个与公共类名相同的字节码文件B.class,而非所有类都生成B.class。 ...

    java基础笔记

    一个源文件中不要定义同名的类 ">java基础 在命令行 控制台下的dos命令: 切换盘符 d: 进入某个目录 cd: 查看一个目录下有什么东西:dir 编译时 javac 源文件名 java 运行的时候 java 含有main方法的 类名 注意:不要写...

    高等教育自学考试_课程代码04747_Java语言程序设计(一).pdf

    * Java源文件的命名规则:源文件命名规则和类命名规则一样,所有的单词首字母都用大写字母,且必须和源文件的public类同名。 Java语言使用Unicode字符集,共有65535个字符。Java语言标识符的命名规则是: * 由字母...

    java中级工程师面试题.doc

    * 一个 Java 文件里可以有多个 public 类,但 Java 文件名必须和包含 main 方法的那个 public 类名精确一致。 二、static 关键字 * 被 static 修饰的类成员变量在编译时由内存分配一块空间,直到程序停止运行才会...

    Java习题集(第三版).doc

    - Java程序由一个或多个类组成,一个源文件中可以有多个类,但只能有一个public类。源文件名必须与public类同名,扩展名为.java。如果没有public类,源文件名可以与任意类同名。 3. **Java语言与Java技术**: - ...

    Java试题 试题含答案

    每个Java源文件(.java)可以包含多个类,但主类(包含main方法的类)所在的文件必须以主类名命名,而其他类的文件名则必须与类名一致,编译后每个类都会生成一个字节码文件(.class)。 - Java的类不支持多重继承...

    JAVA基础知识精华总结 收藏

    (1) 类可以没有构造方法,但如果有多个构造方法,就应该要有默认的构造方法,否则在继承此类时,需要在子类中显式调用父类的某一个非默认的构造方法了。 (2) 在一个构造方法中,只能调用一次其他的构造方法,并且...

    Java基础测试题答案.doc

    方法重载(Overloading)是指在同一个类中,可以有多个同名方法,但这些方法的参数列表必须不同(参数数量、类型或顺序)。题目中的选项D,`public void aMethod()` 是对原始方法 `public void aMethod(){...}` 的...

    java 面试题 总结

    如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 15、error和exception有什么区别? error 表示恢复不是...

    java编程基础复习题.doc.pdf

    - 一个Java程序可以有多个一般类,但只能有一个主类,所以(true)。 - 类不一定非得通过创建对象引用,静态成员可以直接通过类名访问,所以(false)。 - `private`声明的变量不能被其他类直接引用,所以(true)。 -...

    core java笔记

    包名用于区分同名类,可以有零个或一个,但不能有多个。源文件若包含包声明,最好存放在相应的目录结构下。标识符应以字符"_"或"$"开头,且常被用于命名变量、方法和类。 在后续章节,我们还将深入探讨标识符、...

    珍藏资料Java面试宝典2015版.docx

    答案:可以,但是有一个限制:只有一个 public 类,且文件名必须与该 public 类同名。 2. Java 中有没有 goto 语句? 答案:没有,Java 不支持 goto 语句。 3. && 和 & 的区别是什么? 答案:& 是 bitwise AND ...

    Java期末考试复习题

    9. 重载:当一个类中有多个同名方法,但参数列表不同(个数、类型或顺序不同)时,这是方法的重载,选项C正确。 10. 显示不可修改文本的组件:在Java GUI中,通常使用JLabel类来显示不可修改的文本信息,选项A正确...

    Java期末复习(基本内容)1

    每个源程序文件可以声明一个包,一个公共类或接口(声明为public的)只能存在于一个文件中,且文件名必须与这个类名相同。程序错误包括语法错误(编译时发现)、语义错误(运行时发现)和逻辑错误(运行时无法发现)...

    java面试题最新版

    1. **Java源文件与类的关系**:一个.java源文件可以包含多个类,但只能有一个公共类(public class),并且文件名必须与这个公共类的名称相同。其他非公共类可以任意数量。 2. **&与&&的区别**:&是位运算符,用于...

    Java2实用教程(第三版)课后习题参考答案

    若有public类,文件名与public类同名;若无public类,文件名可与任一类同名。 4. **小应用程序的部署**: - HTML文件中的`<applet>`标签用于指定小程序的代码和属性,codebase属性指明字节码的位置。 - 如果不...

    java编程基础复习题.doc.docx

    3. 一个程序可以有多个普通类,但只有一个主类。 4. 类不一定需要创建对象来引用,静态成员可以直接通过类名访问。 5. `private`声明的变量确实不能被其他类直接引用。 6. `StringBuffer`类可动态增长,比`String`更...

    Core Java.doc

    - 源文件最多只能有一个public类,且文件名需与public类名一致。 - 包名在源文件的第一行,用于组织和区分同名类。 - 源文件可以包含多个非public类。 - 标识符的命名规则,必须以字符或下划线开头,后续可包含...

Global site tag (gtag.js) - Google Analytics