六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 35|回复: 0

一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?

[复制链接]

升级  34.35%

547

主题

547

主题

547

主题

探花

Rank: 6Rank: 6

积分
1687
 楼主| 发表于 2013-1-26 14:32:36 | 显示全部楼层 |阅读模式
一个.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
}
*/
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表