一个.java文件中能有多个类吗?

时间:2021-06-22 19:54:17
    一个.java文件中能包含多个类嘛?这些类有什么区别,他们的属性呢?哪个类名与文件名相同呢?main方法写在哪个类文件中呢?main方法可以有多个吗,它们的属性呢?还有内部类呢?

33 个解决方案

#1


   学习java一段时间了,但是这些问题很困惑?谢谢大家讨论解答……

#2


可以
限制:
一个文件中只能有一个public类
并且此public类必须与文件名相同

#3


引用 2 楼 zhudaoming 的回复:
可以
限制:
一个文件中只能有一个public类
并且此public类必须与文件名相同


+1   

#4


必须可以!

#5


可以。但是只能有一个public

#6


http://zhidao.baidu.com/question/274423418.html

#7


可以有多个,但Public类的类名必须跟文件名相同。
这些类跟写在多个文件中没什么区别。
属性相互不冲突。
任何一个都可以有main方法。你甚至可以在一个main方法中调用另外一个类的main方法。

... ...

#8


可以有,但是只能有一个public的类
其他的你就只能定义class而已

#9


比如说:
class A
{
   ...
}
class B
{
   ...
}
//只要一个main函数就OK
public class C {//保存C.java 文件 因为类C 下面有个main 函数,所以文件名C.java 
    public static void main(String []args) {

       ...
    }
}

#10


类可以很多 
public类只有一个 且必须以文件名相同 main方法也在这个类中

#11



A.java
class B{
}
public class A extends B{
   public void a(){
       new Thread(){
          public void run(){
              System.out.println("This is a inner anonymous class of thread.");
          }
       }.start();
   }

   public static void main(String[] a){
       new A().a();
   }
}

#12


不建议这么做。

万一哪一天不小心定义了一个同名的类,编译时会覆盖掉另一个,出现一些莫名其妙的错误。

#13


引用 11 楼 hanpoyangtitan 的回复:
Java code
A.java
class B{
}
public class A extends B{
   public void a(){
       new Thread(){
          public void run(){
              System.out.println("This is a inner anonymous class of thread……


+1  一个.java文件里面可以有多个类,但是只能有一个以 public修饰的类,且使用 public修饰的类的类名必须与该.java文件的文件名相同。明白了不?

#14


你说的就是内部类吧 
可以啊类里面包含类
只是调用不一样

#15


楼主如果是刚入行的话,建议把JAVA的基础多看看,

#16


引用 9 楼 hzc543806053 的回复:
比如说:

Java code

class A
{
   ...
}
class B
{
   ...
}
//只要一个main函数就OK
public class C {//保存C.java 文件 因为类C 下面有个main 函数,所以文件名C.java 
    public static void main(String []args) {

       ……


正解

#17


一个.java文件中能有多个类吗?

#18


引用 9 楼 hzc543806053 的回复:
比如说:

Java code

class A
{
   ...
}
class B
{
   ...
}
//只要一个main函数就OK
public class C {//保存C.java 文件 因为类C 下面有个main 函数,所以文件名C.java 
    public static void main(String []args) {

       ……


//保存C.java 文件 因为类C 下面有个main 函数,所以文件名C.java 
这句不对吧,因为类C为public类 所以文件名为 c.java 
还有像7L说的:
可以有多个,但Public类的类名必须跟文件名相同。
这些类跟写在多个文件中没什么区别。
属性相互不冲突。
任何一个都可以有main方法。你甚至可以在一个main方法中调用另外一个类的main方法。《java编程思想》上有类似的写法。

#19


想想你怎么开始写第一个java程序的,就知道哪个类名与文件名相同了

可以有其他类(如 class ClassName(){}),就是不能再以public class这样声明,这样的声明只能有一个


main方法是程序入口,每一个类都只能有一个入口,这里的每一个类包括了public class ClassName(){}和其内部类class ClassName(){}


至于说属性,属性是属于一个类的,所以他之间不会有什么影响的

楼主,清楚了吗?

好,就酱紫

#20


可以,但是public的类只能有一个,main函数也只能有一个,内部类只要符合定义就可以了,没有数目限制

#21


可以,但是只有一个类是用public修饰,并且要用这个类的名称命名这个java文件,如:
public class Test{}
class Test1{}
class Test2{}
然后:以Test.java命名

#22


引用 18 楼 nian_jun 的回复:
引用 9 楼 hzc543806053 的回复:
比如说:

Java code

class A
{
...
}
class B
{
...
}
//只要一个main函数就OK
public class C {//保存C.java 文件 因为类C 下面有个main 函数,所以文件名C.java
public static void main(String []ar……


+1

#23


2#正解,9#的见解有点问题。

即在一个java文件中,必须有一个跟文件名相同的class,可以有多个class。
在一个java文件中,只能有一个public修饰的class(不包括内部类),并且这个class的名称跟文件名相同。

对于有main函数的class,不一定是主class,即与文件名相同的public类

例:
public class MainDemo {
// public类入口
public static void main(String[] args) {
System.out.println("zhixing public");
}
public static class aa {
// 内部类入口,通过java 
public static void main(String[] args) {  
System.out.println("zhixing nei bu lei");
}
}
}
// 其它的非public入口
class bb {
public static void main(String[] args) {
System.out.println("zhixing bb");
}
}

#24


可以,但是只有一个main方法,通过main方法来调用。

#25


可以有多个,建议不要这样写,不便于代码维护

#26


编译后编译器会将class分开,如果匿名会加个$1,$2表示

例如A$1.class,A$2.class

#27


可以的,不过一个.java文件里的类最多只有一个public

#28


一个.java文件中可有多个类,但有以下几点需要注意:
1.一个.java文件中可有多个类,但只能有一个public修饰的类;
2.如果该文件中存在主方法,则主方法一定在与文件名相同的类中;
3.用public修饰的类名与文件名相同。

#29


 可以有多个类,只能有一个是public的,而且必须以.java文件相配.

#30


怎样做到一个类是一个Java文件

#31


可以有内部类

#32


必须可以,这里有专业解答:
http://www.freeshow.net.cn/questions/9955e9fe616897002f2d3dbac1ec348a27e0321c6f25e9361f01ccf7b8cc79c1/

#33


可以,只能有一个public公共类

#1


   学习java一段时间了,但是这些问题很困惑?谢谢大家讨论解答……

#2


可以
限制:
一个文件中只能有一个public类
并且此public类必须与文件名相同

#3


引用 2 楼 zhudaoming 的回复:
可以
限制:
一个文件中只能有一个public类
并且此public类必须与文件名相同


+1   

#4


必须可以!

#5


可以。但是只能有一个public

#6


http://zhidao.baidu.com/question/274423418.html

#7


可以有多个,但Public类的类名必须跟文件名相同。
这些类跟写在多个文件中没什么区别。
属性相互不冲突。
任何一个都可以有main方法。你甚至可以在一个main方法中调用另外一个类的main方法。

... ...

#8


可以有,但是只能有一个public的类
其他的你就只能定义class而已

#9


比如说:
class A
{
   ...
}
class B
{
   ...
}
//只要一个main函数就OK
public class C {//保存C.java 文件 因为类C 下面有个main 函数,所以文件名C.java 
    public static void main(String []args) {

       ...
    }
}

#10


类可以很多 
public类只有一个 且必须以文件名相同 main方法也在这个类中

#11



A.java
class B{
}
public class A extends B{
   public void a(){
       new Thread(){
          public void run(){
              System.out.println("This is a inner anonymous class of thread.");
          }
       }.start();
   }

   public static void main(String[] a){
       new A().a();
   }
}

#12


不建议这么做。

万一哪一天不小心定义了一个同名的类,编译时会覆盖掉另一个,出现一些莫名其妙的错误。

#13


引用 11 楼 hanpoyangtitan 的回复:
Java code
A.java
class B{
}
public class A extends B{
   public void a(){
       new Thread(){
          public void run(){
              System.out.println("This is a inner anonymous class of thread……


+1  一个.java文件里面可以有多个类,但是只能有一个以 public修饰的类,且使用 public修饰的类的类名必须与该.java文件的文件名相同。明白了不?

#14


你说的就是内部类吧 
可以啊类里面包含类
只是调用不一样

#15


楼主如果是刚入行的话,建议把JAVA的基础多看看,

#16


引用 9 楼 hzc543806053 的回复:
比如说:

Java code

class A
{
   ...
}
class B
{
   ...
}
//只要一个main函数就OK
public class C {//保存C.java 文件 因为类C 下面有个main 函数,所以文件名C.java 
    public static void main(String []args) {

       ……


正解

#17


一个.java文件中能有多个类吗?

#18


引用 9 楼 hzc543806053 的回复:
比如说:

Java code

class A
{
   ...
}
class B
{
   ...
}
//只要一个main函数就OK
public class C {//保存C.java 文件 因为类C 下面有个main 函数,所以文件名C.java 
    public static void main(String []args) {

       ……


//保存C.java 文件 因为类C 下面有个main 函数,所以文件名C.java 
这句不对吧,因为类C为public类 所以文件名为 c.java 
还有像7L说的:
可以有多个,但Public类的类名必须跟文件名相同。
这些类跟写在多个文件中没什么区别。
属性相互不冲突。
任何一个都可以有main方法。你甚至可以在一个main方法中调用另外一个类的main方法。《java编程思想》上有类似的写法。

#19


想想你怎么开始写第一个java程序的,就知道哪个类名与文件名相同了

可以有其他类(如 class ClassName(){}),就是不能再以public class这样声明,这样的声明只能有一个


main方法是程序入口,每一个类都只能有一个入口,这里的每一个类包括了public class ClassName(){}和其内部类class ClassName(){}


至于说属性,属性是属于一个类的,所以他之间不会有什么影响的

楼主,清楚了吗?

好,就酱紫

#20


可以,但是public的类只能有一个,main函数也只能有一个,内部类只要符合定义就可以了,没有数目限制

#21


可以,但是只有一个类是用public修饰,并且要用这个类的名称命名这个java文件,如:
public class Test{}
class Test1{}
class Test2{}
然后:以Test.java命名

#22


引用 18 楼 nian_jun 的回复:
引用 9 楼 hzc543806053 的回复:
比如说:

Java code

class A
{
...
}
class B
{
...
}
//只要一个main函数就OK
public class C {//保存C.java 文件 因为类C 下面有个main 函数,所以文件名C.java
public static void main(String []ar……


+1

#23


2#正解,9#的见解有点问题。

即在一个java文件中,必须有一个跟文件名相同的class,可以有多个class。
在一个java文件中,只能有一个public修饰的class(不包括内部类),并且这个class的名称跟文件名相同。

对于有main函数的class,不一定是主class,即与文件名相同的public类

例:
public class MainDemo {
// public类入口
public static void main(String[] args) {
System.out.println("zhixing public");
}
public static class aa {
// 内部类入口,通过java 
public static void main(String[] args) {  
System.out.println("zhixing nei bu lei");
}
}
}
// 其它的非public入口
class bb {
public static void main(String[] args) {
System.out.println("zhixing bb");
}
}

#24


可以,但是只有一个main方法,通过main方法来调用。

#25


可以有多个,建议不要这样写,不便于代码维护

#26


编译后编译器会将class分开,如果匿名会加个$1,$2表示

例如A$1.class,A$2.class

#27


可以的,不过一个.java文件里的类最多只有一个public

#28


一个.java文件中可有多个类,但有以下几点需要注意:
1.一个.java文件中可有多个类,但只能有一个public修饰的类;
2.如果该文件中存在主方法,则主方法一定在与文件名相同的类中;
3.用public修饰的类名与文件名相同。

#29


 可以有多个类,只能有一个是public的,而且必须以.java文件相配.

#30


怎样做到一个类是一个Java文件

#31


可以有内部类

#32


必须可以,这里有专业解答:
http://www.freeshow.net.cn/questions/9955e9fe616897002f2d3dbac1ec348a27e0321c6f25e9361f01ccf7b8cc79c1/

#33


可以,只能有一个public公共类