当前位置:编程学习 > JAVA >>

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

    一个.java文件中能包含多个类嘛?这些类有什么区别,他们的属性呢?哪个类名与文件名相同呢?main方法写在哪个类文件中呢?main方法可以有多个吗,它们的属性呢?还有内部类呢? --------------------编程问答--------------------    学习java一段时间了,但是这些问题很困惑?谢谢大家讨论解答…… --------------------编程问答-------------------- 可以
限制:
一个文件中只能有一个public类
并且此public类必须与文件名相同 --------------------编程问答--------------------
引用 2 楼 zhudaoming 的回复:
可以
限制:
一个文件中只能有一个public类
并且此public类必须与文件名相同


+1    --------------------编程问答-------------------- 必须可以! --------------------编程问答-------------------- 可以。但是只能有一个public --------------------编程问答-------------------- http://zhidao.baidu.com/question/274423418.html --------------------编程问答-------------------- 可以有多个,但Public类的类名必须跟文件名相同。
这些类跟写在多个文件中没什么区别。
属性相互不冲突。
任何一个都可以有main方法。你甚至可以在一个main方法中调用另外一个类的main方法。

... ... --------------------编程问答-------------------- 可以有,但是只能有一个public的类
其他的你就只能定义class而已 --------------------编程问答-------------------- 比如说:
class A
{
   ...
}
class B
{
   ...
}
//只要一个main函数就OK
public class C {//保存C.java 文件 因为类C 下面有个main 函数,所以文件名C.java 
    public static void main(String []args) {

       ...
    }
}
--------------------编程问答-------------------- 类可以很多 
public类只有一个 且必须以文件名相同 main方法也在这个类中 --------------------编程问答--------------------
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();
   }
}
--------------------编程问答-------------------- 不建议这么做。

万一哪一天不小心定义了一个同名的类,编译时会覆盖掉另一个,出现一些莫名其妙的错误。 --------------------编程问答--------------------
引用 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文件的文件名相同。明白了不? --------------------编程问答-------------------- 你说的就是内部类吧 
可以啊类里面包含类
只是调用不一样
--------------------编程问答-------------------- 楼主如果是刚入行的话,建议把JAVA的基础多看看, --------------------编程问答--------------------
引用 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) {

       ……


正解 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 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编程思想》上有类似的写法。

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

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


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


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

楼主,清楚了吗?

好,就酱紫

--------------------编程问答-------------------- 可以,但是public的类只能有一个,main函数也只能有一个,内部类只要符合定义就可以了,没有数目限制 --------------------编程问答-------------------- 可以,但是只有一个类是用public修饰,并且要用这个类的名称命名这个java文件,如:
public class Test{}
class Test1{}
class Test2{}
然后:以Test.java命名 --------------------编程问答--------------------
引用 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 --------------------编程问答-------------------- 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");
}
}
--------------------编程问答-------------------- 可以,但是只有一个main方法,通过main方法来调用。 --------------------编程问答-------------------- 可以有多个,建议不要这样写,不便于代码维护 --------------------编程问答-------------------- 编译后编译器会将class分开,如果匿名会加个$1,$2表示

例如A$1.class,A$2.class --------------------编程问答-------------------- 可以的,不过一个.java文件里的类最多只有一个public --------------------编程问答-------------------- 一个.java文件中可有多个类,但有以下几点需要注意:
1.一个.java文件中可有多个类,但只能有一个public修饰的类;
2.如果该文件中存在主方法,则主方法一定在与文件名相同的类中;
3.用public修饰的类名与文件名相同。 --------------------编程问答--------------------  可以有多个类,只能有一个是public的,而且必须以.java文件相配.
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,