假如在D:\Java存放了两个java源文件:MyJava.java,Fighting.java
MyJava.java如下:
public class MyJava {
 public static void main(String[] arr)
 {
  System.out.println("MyJava");  
 }
}
Fighting.java如下:
package mxw.ly;
public class Fighting {
 public static void main(String[] arr)
 {
  System.out.println("学会使用java和javac命令");  
 }
}

javac命令
可以这样编译:
1. D:\
   cd java
   javac *.java
2. javac -sourcepath D:\java D:\Java\*.java
3. javac D:\Java\MyJava.java (后缀名区分大小写,如果输入javac D:\Java\MyJava.Java,编译就不能通过)
还可以指定编译以后文件的输出目录:javac -sourcepath D:\java  -d D:\output  D:\Java\*.java
(使用-d参数指定编译以后的输出目录后,会自动将.java源文件里的包编译成对应的文件夹)

java命令
1.C:\Documents and Settings\Administrator>java -classpath D:\java; MyJava
2.D:\Java>java MyJava
Java指令分类名大小写,并且不需要.class的后缀名

在D:\Java有两个java源文件:
A.java:
public class A{
 public static void Eat()
 {
  System.out.println("A.Eat");  
 }
}

B.java:
public class B extends A{
 public static void main(String[] arr)
 {
  B b=new B();
  b.Fun();  
 }

public void Fun()
 {
  super.Eat();
 }
}
首先编译:
C:\Documents and Settings\Administrator>javac D:\Java\B.java
会在D:\Java生成A.class和B.class两个文件
然后执行:java -classpath D:\java; B(如果在系统环境变量classpath里指定了D:\java,可以直接输入java B)
控制台输出 A.Eat

将A.java放入D:\Java\import文件夹
首先编译:C:\Documents and Settings\Administrator>javac D:\Java\B.java
   会报错,因为A.java已经不跟B.java在同一目录了
换个命令编译:C:\Documents and Settings\Administrator>javac -classpath D:\java\Import; D:\Java\B.java
编译成功,发现在D:\Java生成B.class,在D:\Java\import生成A.class

然后执行:C:\Documents and Settings\Administrator>java -classpath D:\java; B
   会报错,因为A.Class不跟B.class在同一目录
换个命令执行:C:\Documents and Settings\Administrator>java -classpath D:\java;D:\java\import; B
执行成功,输出A.Eat
如果系统变量classpath的值为D:\Java;D:\java\import;  可以在控制台直接输入下面命令:java B
执行成功,输出A.Eat

转载于:https://www.cnblogs.com/mxw09/archive/2011/04/06/2007346.html

java指令和javac指令总结相关推荐

  1. c如何接收java指令_java指令和javac指令总结

    假如在D:\Java存放了两个java源文件:MyJava.java,Fighting.java MyJava.java如下: public class MyJava { public static ...

  2. java中Freemarker list指令详解

    java Freemarker中list指令主要是进行迭代服务器端传递过来的List集合. 定义 <#list nameList as names> ${names} </#list ...

  3. Java内存模型与指令重排

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达今日推荐:2020年7月程序员工资统计,平均14357元,又跌了,扎心个人原创100W+访问量博客:点击前往,查看更多 转自 ...

  4. Java指令屏障_指令重排序和内存屏障

    sap hana计算技术项目实战指南内存 61元 (需用券) 去购买 > 一.指令重排序 指令重排序分为三种,分别为编译器优化重排序.指令级并行重排序.内存系统重排序.如图所示,后面两种为处理器 ...

  5. Java并发编程之指令重排序

    在我们面试过程中,通常避免不了会被问到什么是指令重排序?本文就这个问题进行探索. 重排序 前言 一.重排序种类 二.happens-before 三.重排序 1.数据依赖性 2. as-if-seri ...

  6. Linux系统中后台运行java项目jar包指令

    Linux系统中后台运行java项目jar包指令 windows环境下后台运行jar包程序: https://blog.csdn.net/qq_36763419/article/details/109 ...

  7. java正常运行但javac报错

    环境变量设置完,cmd中java正常运行但javac报错 出错场景 探索 解决 总结 不想看过程直接看总结吧,节省时间. 废话开始: 出错场景 最近上课需要进行web开发,用tomcat要配置java ...

  8. java常用命令javac、javap、jps、jstack

    本文参考http://www.hollischuang.com/?s=java%E5%91%BD%E4%BB%A4%E5%AD%A6%E4%B9%A0 作为一个java开发人员,应该了解java常用指 ...

  9. Linux系统学习: 进程、重定向和管道指令:xargs 指令的作用是

    进程 为了弄清楚这节课程的内容,也就是管道,我们先来讨论一下进程. 我们知道,应用的可执行文件是放在文件系统里,把可执行文件启动,就会在操作系统里(具体来说是内存中)形成一个应用的副本,这个副本就是进 ...

最新文章

  1. catia钣金根据线段折弯_钣金折弯加工注意事项有哪些?钣金折弯要点介绍
  2. java.lang.ClassNotFoundException: org.apache.log4j.Logger
  3. 动图图解 | Go 的 timer 是如何被Runtime调度的?
  4. 清北学堂模拟赛day7 错排问题
  5. android toast
  6. linux移植简介[MS2]
  7. 设计模式(1)——策略模式
  8. Linux下查看和停止所有java进程
  9. 怎么分行显示java程序,月光软件站 - 编程文档 - Java - 如何在J2ME的低级界面中轻松实现各种文字的自然分行显示...
  10. 阿里云送你Hands-on Labs X linux联名T恤——阿里云高校计划《Linux命令入门》训练营
  11. 计算机专业论文答辩ppt,计算机行业毕业论文答辩PPT.pptx
  12. 巴伦变压器电路图_一文看懂巴伦(功能原理、性能参数、基本类型)
  13. 2021年常规赛NBA球员数据分析
  14. 《工业控制系统信息安全防护指南》实施建议(下)
  15. RxSwift学习笔记
  16. 如何把微信删除的聊天记录恢复?试试这两个简单有效的方法
  17. 2020-05-21
  18. 网络维护类岗位做什么?
  19. 什么是系统建模语言(SysML)?
  20. HTML+CSS+JAVASCRIPT简介

热门文章

  1. .NET深入实战系列—Linq to Sql进阶
  2. linux安装mongodb(设置非root用户和开机启动)
  3. (模板)网页游戏用的“内容区”的“图赏影音”模板
  4. JS~~~ 前端开发一些常用技巧 模块化结构 命名空间处理 奇技淫巧!!!!!!...
  5. MVC常见的控制器,接口,数据层之间的操作
  6. 当winform窗体的Bordestyle设置为None时,鼠标可以拖动窗体的办法
  7. 关于DataAdapter打开和关闭连接
  8. java对象流读取完毕_从Java 8流中获取具有最大频率的对象
  9. cadence 旋转快捷键_cadence原理图快捷键
  10. 微信小程序获取当前时间戳、获取当前时间、时间戳加减