精华内容
下载资源
问答
  • 一个java文件可以定义多个类,但是被public修饰的类只能定义一个且需要与这个java文件名称相同,如果不相同编译器报错。 多个类定义在一个文件java文件名称A.java public class A { public static void main...

    一个java文件可以定义多个类,但是被public修饰的类只能定义一个需要与这个java文件名相同,如果不相同编译器报错

    多个类定义在一个文件中,java文件名称A.java

    public class A {
        public static void main(String[] args) {
            System.out.println("hello");
        }
    }
    class B {
    }
    class C {
    }
    

    进入目录执行编译命令

    javac A.java
    

    编译结果:
    编译结果
    如果被public修饰的类名与java文件名不一致,编译报错

    A.java:1: 错误: 类AB是公共的, 应在名为 AB.java 的文件中声明
    public class AB {
           ^
    1 个错误
    

    多个public也会报错

    PS D:\Test> javac A.java
    A.java:7: 错误: 类B是公共的, 应在名为 B.java 的文件中声明
    public class B {
           ^
    1 个错误
    
    展开全文
  • 一个Java文件中编写多个class

    千次阅读 2018-12-17 19:16:02
    一个java文件中可以编写多个class文件。形如: public class A{} class B{} class C{} 文件命名规则: public class存在,最多也只能有一个public class。文件名与public class名称相同。 没有public class,即...

    在一个java文件中可以编写多个class文件。形如:
    public class A{}
    class B{}
    class C{}

    文件命名规则:
    有public class存在,最多也只能有一个public class。文件名与public class名称相同。
    没有public class,即所有class都是包访问权限,文件名为任一class名即可。

    使用场景:
    在示例中为了方便有时会这么使用,多个类可以写在同一个文件中,减少文件的数量。
    一般不建议使用该种方式进行类的组织,编译后的文件也是按照类拆分成多个class文件。

    展开全文
  • 一个.java文件可以有多个class

    千次阅读 2019-03-12 19:22:31
    一个.Java文件中可以有多个class类,但是只有一个类是用public修饰的,其他类都是无修饰的。(修只可以public/abstract/final/和无修饰符,不能是其他的protected/private等修饰符。)。值得注意的是:用public...

    一个.Java文件中可以有多个class类,但是只有一个类是用public修饰的,其他类都是无修饰的。(修只可以public/abstract/final/和无修饰符,不能是其他的protected/private等修饰符。)。值得注意的是:用public修饰的类 必须与XXX.Java  名字一致。

    不同修饰的作用于:

    • public:跨包可访问
    • 无修饰符:包内可访问

    说到这里,有人可能有疑问:

    明明我看到java是有四种访问权限(public,default(只允许本包内使用),private以及protected)的呀,为什么上面没有被private和protected修饰的类呢?

    private和protected只会用来修饰类的属性,方法和内部类。你想如果外部类是private的,其他任何的类都无法访问这个类,那么这个类就没有任何意义了

    展开全文
  • 说明:这是一个新的系列,定下一个目标,只要不忙,每天都会进行一次更新 验证 public class ClassD { ClassB b; public static void main(String[] args) { System.out.println("xxx"); } class ClassE { ...

    说明:这是一个新的系列,定下一个目标,只要不忙,每天都会进行一次更新

    验证

    public class ClassD {
    	ClassB b;
    
    	public static void main(String[] args) {
    		System.out.println("xxx");
    	}
    	class ClassE {
    		ClassB b;
    	}
    }
    
    class ClassF {
    	ClassB b;
    }
    class ClassG {
    	ClassB b;
    }
    abstract class ClassH {
    	ClassB b;
    }
    interface ClassI {
    }
    

    上面的代码中一共有6个类,ClassD ClassE ClassF ClassG ClassH ClassI
    ClassD 正常类
    ClassE classD的内部类
    ClassF 只是写在classD.java中的普通类
    ClassG 只是写在classD.java中的普通类
    ClassH 抽象类
    ClassI 接口
    编译之后,如图:
    在这里插入图片描述

    可以证明的是
    如果再一个java文件中有多个类,除去内部类,剩下的每个普通类都会生成一个class文件

    生成完的class文件:

    public class ClassD {
        ClassB b;
        public ClassD() {
        }
        public static void main(String[] args) {
            System.out.println("xxx");
        }
        class ClassE {
            ClassB b;
            ClassE() {
            }
        }
    }
    
    class ClassF {
        ClassB b;
        ClassF() {
        }
    }
    
    class ClassG {
        ClassB b;
        ClassG() {
        }
    }
    
    
    abstract class ClassH {
        ClassB b;
        ClassH() {
        }
    }
    
    interface ClassI {
    }
    

    总结

    如果一个java文件中有多个类,除去内部类,剩下的每个普通类都会生成一个class文件
    如上图:一个java文件中有6个类生成了5个class文件,因为其中有个类是内部类,如果都是外部类的话,则会生成6个class文件

    展开全文
  • 一个java文件中是否可以定义多个

    万次阅读 2018-09-08 21:40:57
    一个java文件中可以定义多个类,但是最多只有一个类被public修饰,并且这个类的类名与文件名必须相同,若这个文件中没有public的类,则文件名随便是一个类的名字即可。余姚注意的是,当用javac指令编译有多个类的...
  • 一个.java文件中是否可以有多个

    千次阅读 2018-06-21 17:34:44
    前段时间,有个同事问到我这个问题:一个.java文件中是否可以有多个类?答案:可以有多个类,但最多只能有一个被public修饰的class。且若这个.java文件中一个public类型的class,则这个class名需与.java文件名...
  • 一个class文件深入理解Java字节码结构

    万次阅读 多人点赞 2018-05-15 10:01:56
    我们都知道,Java程序最终是转换成class文件执行在虚拟机上的,那么class文件怎样的结构,虚拟机又是如何处理去执行class文件里面的内容呢,这篇文章带你深入理解Java字节码的结构。 1.Demo源码 首先,...
  • 一个java文件中多个

    千次阅读 2018-01-14 14:45:28
    参考文章地址: 一、 在一个java文件中写多个类 http://blog.csdn.net/u013614319/article/details/51510515 二、一个java文件多个类 ...一个.java文件中可以有很多类
  • 如图所示:如果编译后一个java文件中内部类的话,就会编译产生多个类 转载于:https://www.cnblogs.com/zzzzw/p/4996014.html
  • 一个JAVA文件可以写几个Class类?

    千次阅读 2017-03-24 16:24:59
    习惯了一个JAVA文件一个类,今天突然看到了这个问题,一时没反映过来。后来自己写了几个DEMO测试了一下,结果如下: class Demo3{ String name; Integer age; Double height; public void sleep(){ ...
  • 一个Java 文件只能有一个public class

    千次阅读 2018-04-19 20:55:59
    今天做了一个笔试题,里面有一个选择题,问一个Java文件,里面包含一个名为first的public,为了成功编译该文件,需要满足的条件是? A.源文件名为必须为first B.源文件必须导入java.lang包 C.源文件必须具有...
  • 一个java文件如何放两个public class

    万次阅读 多人点赞 2016-08-27 11:52:30
    public class Main { public static void main(String[] args) { System.out.println("Hello World!"); } public class Test1 {} //正确 } public class Test2{}//错误 class Test3{}//正确 // //
  • 一个java文件中可不可以有多个类?

    千次阅读 2016-09-09 21:25:55
    public class:是JAVA定义的,一般占到编程的角度来将就是包含main方法的,一个java文件中只有一个public class,而且public class的文件名要跟.java的文件名一致。 class:在Java编程是描述对象的,也就是类。 提示...
  • 个class写在同一个java文件中

    万次阅读 2018-04-25 21:36:11
    第一种:一个public类,多个非public类,例如:public class A{}class B{}第二个class前面不能加public。第二种:第二种是内部类,写在公共类体里面的,例如:public class A{ private class B{}}只有A能...
  • 一个.class文件有多个class类的编译。。每个class类都会在文件夹形成一个.java文件,如果两个文件是关联的话,已经编译后,再把其中一个.class类删除,再编译,也是可以通过并运行的。。。。因为,那个被删除...
  • 创建工程后,运行提示 Eclipse Error: Could not find or load main class [duplicate] ...一个java文件里面写多个class的话,这里面最多有一个public的。 而且.java的名称和public 类得名称要一致 ...
  • 一个.java文件中定义多个

    千次阅读 2014-08-22 14:13:28
    一个.java文件中可以有类。不过注意以下几点: 1.public 权限的类只能有一个(也可以一个都没有,但最多只有1个) 2.这个.java文件的文件名必须是public类的类名(一般的情况下,这里放置main方法是程序的入口。...
  • 很多时候,我们在写代码时候,会出现这个问题: 为什么Eclipse,打开多个java文件时,运行一个java文件,运行的却是另一个java文件结果?
  • 一个.java文件中可以有多个同级类, 其修饰符只可以public/abstract/final/和无修饰符 public修饰的只能有一个,且必须要与文件名相同; 因为jvm虚拟机为了提高查找类的速度,使用import语句导入的时候,只会...
  • 一个java文件中只能有一个public修饰的类,只能有一个main方法, 也就是说,如果一个java文件有一个public修饰的...时候我们在一个java文件中创建多个类,(不带public修饰符的类)。 如下: package test; class A{
  • 今天在跟廖雪峰大大学习Java的过程无意间发现一个小问题,就是在一个文件中能否创建多个类的事情,我当时的代码如下: 这时很明显编译器报错了(万能的eclipse,相比其他语言的编译器用得真是舒适),它告诉我们...
  • 每一个Class文件都对应着唯一一个类或接口的定义信息,但是相对地,类或接口并不一定都得定义在文件里(譬如类或接口也可以通过类加载器直接生成)。我们只是通俗地将任意一个有效的类或接口所应当满足的格式称为...
  • 创建的类如下: 调试窗口如下: 错误日志如下: 这种错误原因是同一个java包下,只能有一个main函数,因为main函数是程序的入口。
  • Java一个源文件中可以有多个主类

    千次阅读 2020-03-10 01:17:54
    Java一个源文件中可以有多个主类 一个Java源文件中可以有多个主类,但是只能有一个公共类或者没有公共类,所谓主类就是函数运行的一个入口,public static void main。我们可以通过如下例子说明: public class E{ ...
  • 一个.java源文件中可以有多个类吗?

    千次阅读 2019-04-16 21:34:08
    * 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件? * 可以的 *但是只能有一个public类, 而且如果有public类的话,这个文件的名字要和这个类的名字一样。 *如果都没有public类,名字可以不和这个类一样...
  • 理解Java虚拟机(1)之一个.java文件编译成.class文件发生了什么最近在看《深入理解Java虚拟机》弄明白了很java的底层知识,决定分几部分总结下,从.java文件编译,到类加载机制,内存分配 垃圾回收机制,线程...
  • Java中的.class文件详解

    万次阅读 多人点赞 2018-03-25 17:18:08
    转载:...这是上周发生在我身上的一个简单情况:很久以前,我在机器上进行了一些代码更改,编译了一个JAR,并将其部署到服务器上,以测试性能问题的潜在修补程序。不幸的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,187,850
精华内容 475,140
关键字:

一个java文件中可以有多个class

java 订阅