一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?
2010-08-17 10:06
316 查看
一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?带着这个疑惑,动手建几个测试类,
揭开心中的疑惑。以下是解开疑惑过程:
package test;
/**
* 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?
* 可以的
*但是只能有一个public类, 而且如果有public类的话,这个文件的名字要和这个类的名字一样。
*如果都没有public类,名字可以不和这个类一样。
*/
public class MultiClass {
int i = 0;
}
class B {
String str = "b";
}
class C {
String str = "c";
}
/*源文件javac出多个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
}
*/
from:http://blog.csdn.net/lu7kang/archive/2009/04/11/4064688.aspx
揭开心中的疑惑。以下是解开疑惑过程:
package test;
/**
* 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?
* 可以的
*但是只能有一个public类, 而且如果有public类的话,这个文件的名字要和这个类的名字一样。
*如果都没有public类,名字可以不和这个类一样。
*/
public class MultiClass {
int i = 0;
}
class B {
String str = "b";
}
class C {
String str = "c";
}
/*源文件javac出多个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
}
*/
from:http://blog.csdn.net/lu7kang/archive/2009/04/11/4064688.aspx
相关文章推荐
- 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?
- 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?
- 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?
- 一个java源文件中是否可以包含多个类(内部类除外),有什么限制?
- 一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制
- 001.一个.java源文件中是否可以包含多个类(不是内部类)?有什么限制?
- Java - 一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?
- 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
- 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
- 一个“.java”文件中是否可以包含多个类(不是内部类)?有什么限制?
- 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
- 一个“java”源文件中是否可以包括多个类?有什么限制?
- 一个Java源文件是否可以有多个类?有什么限制?
- 一个.java源文件是否可以包括多个类?有什么限制?
- 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
- 在Java中怎么定义一个匿名内部类,定义匿名内部类的条件是什么?
- 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
- 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
- java开发线程篇1:java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
- 一个.java源文件中可以有多个类吗?