当前位置:首页 » 编程软件 » java实验联合编译

java实验联合编译

发布时间: 2022-09-07 00:29:52

A. 五个java文件,如何编译在一起

你是想把所有的类编译成一个文件?这是不可能的哦。一个class文件只能对应一个java文件的。你如果想把他们弄成一个文件的话,可以用jar命令把这几个文件打成jar包。不过要保证jar包里面只有一个main方法。

B. Java简单编译问题(结合批处理)

我曾经研究了这个问题研究了一天,查了很多资料
这是个很难说清楚的问题,如果你的java文件没有引用外部的jar与其他的类,javac是可以的
前一段时间我写了递归编译项目的小程序,不幸的是编译文件没有我想象中的容易。
因为编译.java是需要关联的jar和类的,而javac又无法动态的提供所需的jar或类,所以想用批处理通吃是不实际的

所以尽量用IDE编译吧,等你有一定能力的时候看看ant,专门编译项目的

C. 如何用Java代码编译Java文件

简单点的,自己去运行javac编译
复杂点的,javax.tools.ToolProvider有个getSystemJavaCompiler方法,他可以帮你找,并在内存中编译

D. 简述JAVA程序的编辑编译和运行过程

Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译程序将 Java源程序翻译为JVM可执行代码--字节码。Java将符号引用信息保留在字节码中,由解释器在运行过程中创立内存布局,然后再通过查 表来确定一个方法所在的地址。这样就有效的保证了Java的可移植性和安全性。

运行JVM字节码的工作是由解释器( java命令 )来完成的。解释执行过程分三部进行:代码的装入、代码的校验和代码的执行。装入代码的工作由"类装载器"(class loader)完成。类装载器负责装入运行一个程序需要的所有代码,这也包括程序代码中的类所继承的类和被其调用的类。当类装载器装入一个类时,该类被放 在自己的名字空间中。除了通过符号引用自己名字空间以外的类,类之间没有其他办法可以影响其他类。在本台计算机上的所有类都在同一地址空间内,而所有从外 部引进的类,都有一个自己独立的名字空间。这使得本地类通过共享相同的名字空间获得较高的运行效率,同时又保证它们与从外部引进的类不会相互影响。当装入 了运行程序需要的所有类后,解释器便可确定整个可执行程序的内存布局。解释器为符号引用同特定的地址空间建立对应关系及查询表。通过在这一阶段确定代码的 内存布局,Java很好地解决了由超类改变而使子类崩溃的问题,同时也防止了代码对地址的非法访问

E. 如何用javac 和java 编译运行整个Java工程

你不用去关心它后面做了些什么,执行了哪些命令,基于什么原理。然而也是这种过分的依赖往往让人散失了最基本的技能,当到了一个没有IDE的地方,你便觉得无从下手,给你个代码都不知道怎么去跑。好比给你瓶水,你不知道怎么打开去喝,然后活活给渴死。 之前用惯了Myeclipse, Java文件编译运行的命令基本忘得一干二净。现在项目出了原型,放到服务器上去测试 一、javac命令javac 用于编译Java文件,格式为:java [options] [sourcefiles] [@files]其中:options:命令行选项;sourcefiles:一个或多个要编译的源文件;@files:一个或多个对源文件进行列表的文件,有时候要编译的文件很多,一个个敲命令会显得很长,也不方便修改,可以把要编译的源文件列在文件中,在文件名前加@,这样就可以对多个文件进行编译,对编译一个工程很有用,方便,省事。 有几个比较重要的选项:-d 用于指定编译成的class文件的存放位置,缺省情况下不指定class文件的存放目录,编译的class文件将和源文件在同一目录下;-classpath 可以简写成-cp,用于搜索编译所需的class文件,指出编译所用到的class文件的位置,如jar、zip或者其他包含class文件的目录,指定该选项会覆盖CLASSPATH的设定;-sourcepath用于搜索编译所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目录;需要注意windows下和linux下文件路径分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的区别:windows下文件路径分隔符用 \ ,文件列表分隔符用分号 ;linux下文件路径分隔符用 / ,文件列表分隔符用冒号 :二、java命令java 用于执行程序,格式如下:java [options] classfile options:命令行选项,一般用于 -classpath 指定要执行的文件所在的位置以及需要用到的类路径,包括jar、zip和class文件目录,会覆盖CLASSPATH的设定三、脚本如果要敲的命令很长,每次要编译运行的时候都要重新敲一遍,这是一件很痛苦的事情,所以用脚本可以大大方便你的工作量。在linux下用shell脚本,windows下用bat批处理程序。因为是在linux下,我这里只是简单介绍一下shell,关于bat批处理程序的语法自己网络一下,不难。 1. 开头linux有很多不同的shell,通常使用bash(bourne again shell),程序必须以下面的行开始:#!/bin/sh #!用来告诉系统用后面的参数来执行程序,这里使用的是/bin/sh要使你的脚本能够执行,还必须让这个文件有可执行权限,使用下面命令更改文件权限:chmod +x filename 2. 注释以#开始的句子表示注释,一直到这行结束,多写注释有利于以后重新看的时候知道自己在做什么3. 变量shell的脚本的变量都是字符串,不用申明类型,定义的时候直接 变量=值 即可,用到变量的的时候用 $变量 或者 ${变量},echo命令用于打印,举个例子:#!

F. JAVA中联合编译时保存源代码的文本怎样命名

联合编译时很多个类写在一个源文件里的意思吗??
如果是这样,我印象中,一个源文件里只能出现一个public 声明的类,
其他的类可以是缺省的声明。
源文件的名字是public类的类名.java
不能有多个public类,如果都是缺省的声明,源文件的名字并不重要。

G. 如何编译并运行.java源程序

java源程序是运行不了的。java程序要先编译成class文件后,可以运行class文件。如果你是用eclipse(myeclipse)这个会自动编译的,你直接运行就行了。如果没有编译软件,在控制台,找到java源代码路径,用javac
命令可编译该源代码,编译完了再用java命令可运行此class文件

H. java 的联合编译问题

首先

  1. java中一个主类中只能有一个类声明成public,你声明了两个,你应该将publicclassFamily中的public去掉。

  2. count=f.name(count);

    f.name(值);这个方法是将值赋给Family类型的对象f中属性为name

    count不可能得到f.name()的值,类型不对一个String一个int;

你可以f.name(count);或f.name = count+"";

I. 在java中同时编译几个类

原因是没有import进java.util.Date和java.util.GregorianCalendar两个类

import java.util.Date;
import java.util.GregorianCalendar;

public class EmployeeTest {
public static void main(String[] args) {
// fill the staff array with three Employee objects
Employee[] staff = new Employee[3];

staff[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15);
staff[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1);
staff[2] = new Employee("Tony Tester", 40000, 1990, 3, 15);

// raise everyone's salary by 5%
for (Employee e : staff)
e.raiseSalary(5);

// print out information about all Employee objects
for (Employee e : staff)
System.out.println("name=" + e.getName() + ",salary=" + e.getSalary() + ",hireDay=" + e.getHireDay());
}
}

class Employee {
public Employee(String n, double s, int year, int month, int day) {
name = n;
salary = s;
GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);
// GregorianCalendar uses 0 for January
hireDay = calendar.getTime();
}

public String getName() {
return name;
}

public double getSalary() {
return salary;
}

public Date getHireDay() {
return hireDay;
}

public void raiseSalary(double byPercent) {
double raise = salary * byPercent / 100;
salary += raise;
}

private String name;
private double salary;
private Date hireDay;
}

J. JAVA程序编译

/*
* Door.java 设计门的接口
*/
public interface Door {
public void openDoor(); //打开门
public void closeDoor(); //关闭门. 这两个是所有门的共有属性
}
----------------------------------
/*
* TheftDoor.java 防盗门 它可以开门也可以关门,还可以防盗.
*/
public class TheftDoor implements Door {

public void closeDoor() {
// TODO Auto-generated method stub
System.out.println("TheftDoor Close.");
}

public void openDoor() {
// TODO Auto-generated method stub
System.out.println("TheftDoor Open.");
}

public void theftProof(){
System.out.println("TheftDoor theftProof.");
}

}
--------------------------------
/*
* WaterDoor.java 这个防水门是在防盗门的基础上设计的,
* 它不但可以开关,还可以放水防盗.
*/
public class WaterDoor extends TheftDoor{
public void closeDoor() {
// TODO Auto-generated method stub
System.out.println("WaterDoor Close.");
}

/*public void openDoor() {
// TODO Auto-generated method stub
System.out.println("WaterDoor Open.");
}*/

public void theftProof(){
System.out.println("WaterDoor theftProof.");
}
/*
* 上面这三个方法可以重写也可以不重写..这要看你了.
*/
public void waterProof(){
System.out.println("WaterDoor waterProof.");
}
}

--------------------------
//TestDoor.java 测试
public class TestDoor {
public static void main(String args[])
{
TheftDoor theftDoor = new TheftDoor();
theftDoor.closeDoor();
theftDoor.openDoor();
theftDoor.theftProof();

WaterDoor waterDoor = new WaterDoor();
waterDoor.waterProof();
waterDoor.openDoor(); // 如果这个方法没有被重写,输出的就是 "TheftDoor Open."
waterDoor.closeDoor();// 这个方法被重写了,输出的是"WaterDoor Close."
}
}

///
继承、抽象类、接口 是很繁琐的东西,也是java 很重要的一部分东西.不是通过一两个程序就能说明白的.当然,我写的程序也不能涵盖全部.
建议你系统的学习一下.先单独学习,掌握,再学混合运用..

希望对你有所帮助.

热点内容
游戏源码资源 发布:2025-03-22 02:47:14 浏览:837
三星c9安全文件夹怎么用 发布:2025-03-22 02:42:20 浏览:291
电源功率算法 发布:2025-03-22 02:40:53 浏览:848
局域网如何做服务器 发布:2025-03-22 02:40:43 浏览:342
数据库建表代码 发布:2025-03-22 02:10:14 浏览:8
ftp服务器编码 发布:2025-03-22 01:57:00 浏览:905
上传ftp服务器文件 发布:2025-03-22 01:46:31 浏览:495
安卓手机怎么可以内录 发布:2025-03-22 01:45:58 浏览:934
加密狗为什么叫狗 发布:2025-03-22 01:40:19 浏览:376
什么品牌安卓机兼容性好 发布:2025-03-22 01:34:37 浏览:933