java多个类编译
可以javac 指令的参数-sourcepath指定源文件所在目录(src),可以是一个或是多个;在同一个目录下直接编译主类就行。
B. java某个类继承了多个类,编译时会
说明:这是一个新的系列,定下一个目标,只要不忙,每天都会进行一次更新
验证
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文件
C. 如何用JAVAC一次性编译多个包下的JAVA文件
1.利用-cp
cd xxx
dir *.java/s/b > srclist.txt
or dir x:/yyy/zzz/*.java/s/b > srclist.txt
javac -cp .;xxx/yyy/zzz.jar;x/y/z.jar -d classes @srclist.txt
2.直接使用
这个,主要是在做一个独立的Java项目,它不依赖IDE,同时要在别人电脑上编译运行
下面编译运行用到了jar包、properties文件。首先进入项目的根目录下,注意:每一行,表示:DOS系统将执行的指令。
G:
cd testJava
上面,两个命令为模拟,进入项目根目录(具体目录,根据自己程序所在目录)。
javac -classpath .;../previousRecord.properties;../lib/jtds-1.2.5.jar;com/cjb/properities/jdbc.properties com/cjb/jdbc/*.java com/cjb/client/*.java -encoding UTF-8
上面命令,表示:编译com/cjb/jdbc下所有java类和com/cjb/client下所有java类,这些类用到了previousRecord.properties文件(它的路径是相对的)和jtds-1.2.5.jar的文件jar包(它的路径也是相对的),同时用的编码是UTF-8。
java -Xms64m -Xmx512m -cp .;../previousRecord.properties;../lib/jtds-1.2.5.jar;com/cjb/properities/jdbc.properties com/cjb/client/MailDispatcherOperation
上面命令,表示:执行com/cjb/client下的MailDispatcherOperation.class(它里面有Main函数)。
D. java 同时编译多个类的问题
可以javac 指令的参数-sourcepath指定源文件所在目录(src),可以是一个或是多个;在同一个目录下直接编译主类就行。
请采纳答案,支持我一下。
E. Java的源代码中无论定义多少个类, 编译结果就只生成一个以.class为后缀的字节码文件对吗内部内
怎么可能呢,定义了多少个class就会生成多少个字节码文件的。但是如果一个类中定义了多个类,这多个类中最多只能有一个public修饰的类,而且这个类的类名必须和文件名一致,其余的类可以随意。但是有多少个类就会产生多少个字节码文件的。
F. 请问使用sublime text3进行java程序编译时,如何同时编译并运行多个类
两个类分别有各自的入口函数,这就相当于是两个程序,要运行只能单独运行,这不管是记事本cmd还是notepad++还是eclipse都是这样,如果两个类需要一起运行,可以用其中一个类调用另一个类的方法,例如
final class A{
public A(){
System.out.println("Excuting");
}
}
untitled类中调用new A();就行