不用IDE,而直接用命令编译JAVA包,仔细看了下,作一个记录。

以下的URL值得收藏。

http://www.aiuxian.com/article/p-2115485.html

http://www.cnblogs.com/haolujun/archive/2013/03/02/2939698.html

http://blog.sina.com.cn/s/blog_533074eb01014yd7.html

主要要理解classpath参数,d参数,及.作路径导向。

演示继承的四个文件如下:

Role.java

package cc.openhome;

public class Role {
  private String name;
  private int level;
  private int blood;

  public int getBlood() {
    return blood;
  }

  public void setBlood(int blood) {
    this.blood = blood;
  }

  public int getLevel() {
    return level;
  }

  public void setLevel(int level) {
    this.level = level;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }
}

SwordsMan.java

package cc.openhome;

public class SwordsMan extends Role {
  public void fight() {
    System.out.println("Attack with swords");
  }
}

Magician.java

package cc.openhome;

public class Magician extends Role {
  public void fight() {
    System.out.println("Attack with magician");
  }
}

RPG.java

package cc.openhome;

public class RPG {
  public static void main(String[] args) {
    SwordsMan swordsMan = new SwordsMan();
    swordsMan.setName("Justin");
    swordsMan.setLevel(1);
    swordsMan.setBlood(200);
    System.out.printf("SwordsMan: (%s, %d, %d)%n", swordsMan.getName(),
                swordsMan.getLevel(), swordsMan.getBlood());

    Magician magician = new Magician();
    magician.setName("Monica");
    magician.setLevel(2);
    magician.setBlood(100);
    System.out.printf("Magician: (%s, %d, %d)%n", magician.getName(),
                                magician.getLevel(), magician.getBlood());
  }
}

目录结构平铺如下:

手动编译命令及执行顺序如下:

D:\learn>javac -cp . -d . Role.java

D:\learn>javac -cp . -d . SwordsMan.java

D:\learn>javac -cp . -d . Magician.java

D:\learn>javac -cp . -d . Role.java

D:\learn>javac -cp . -d . RPG.java

D:\learn>java -cp . cc.openhome.RPG
SwordsMan: (Justin, 1, 200)
Magician: (Monica, 2, 100)

  

手动编译java的package问题,及演示继承的基本实现的更多相关文章

  1. 【JDK命令行 一】手动编译Java源码与执行字节码命令合集(含外部依赖引用)

    写作目标 记录常见的使用javac手动编译Java源码和java手动执行字节码的命令,一方面用于应对 Maven 和 Gradle 暂时无法使用的情况,临时生成class文件(使用自己的jar包):另 ...

  2. 手动编译JAVA类

    javac -encoding utf-8  -Djava.ext.dirs=D:\JDeveloper\jdevbin\BC4J\lib\;D:\JDeveloper\jdevbin\j2ee\ho ...

  3. 如何手动编译java文件

    1,在编辑框中,将目录切至java文件所在的地址 如图 2,开始编译java文件 用命令javac 编译目标java文件,文件需带后缀名 ; 用java 执行class, 此时class文件无需带后缀 ...

  4. java ----> 手动编译java项目

    环境: jdk1.8,cmd,notepad++ 创建java工程test,创建文件夹: src classes lib 说明: src 放置.java文件 classes 放置.class文件 li ...

  5. [Java]手动编译Java

    1.安装JDK 2.编写 Example.java 程序放到C 盘 public class Example { public static void main(string[] args) { sy ...

  6. win手动编译JAVA 未完成(系统path未加入文章)

    java 下面存.BAT dir /s /B *.java > sources.txtjavac @sources.txt -bootclasspath "C:\Users\88797 ...

  7. Java教程——CMD手动编译运行失败原因(高手略过)

    (仅对新手,高手略过)在学习Java初期,我们在利用cmd手动编译java程序的时候,会遇到编译成功,但运行却总是提示失败.已经排除了java配置环境的问题,Path和ClassPath以及%JAVA ...

  8. Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包

    一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...

  9. Java包package之间调用问题-cmd运行窗口编译运行

    问题:在使用了java包机制(package)后,编译出现错误:找不到或无法加载主类 xxx 的错误提示信息(各种编译不通过) 先给演示结果: 编译:javac -d classes src/a/He ...

随机推荐

  1. C/C++中的绝对值函数

    --------开始-------- 对于不同类型的数据对应的绝对值函数也不相同,在c和c++中分别在头文件math.h 和 cmath 中. int : x = abs( n ) double : ...

  2. mybatis一对多关系的关联查询

    问题描述:实现两张表的关联查询 学生表: 班级表: 要实现学生管理信息中有所在班级的名称,即如下图所示 1.对应学生表的pojo类写全班级表中的字段(适用于要连接的表字段较少的情况) sql语句直接在 ...

  3. 常见文件MIME类型

    常见文件MIME类型.asx,video/x-ms-asf .xml,text/xml .tsv,text/tab-separated-values .ra,audio/x-pn-realaudio ...

  4. IDEA 使用 git (码市)

    1.下载 git,并安装(一直下一步) 2.使用IDEA,检出项目,检出方式选择:git, 3.如果项目有修改,上传修改的文件 4.下载 SourceTree(git的图形化工具),并安装(一直下一步 ...

  5. 2.0 Linux系统的安装之Fedora安装单系统(2)

    2.0 Linux系统的安装之Fedora安装单系统(2) *Linux系统的安装之Fedora安装单系统 恐怕最好装的系统就是Linux系统了,或者与Windows并列.此篇教程为Fedora的单系 ...

  6. CDC之Synchronizers

    1 Scenarios Two scenarios for passing signals across CDC boundaries: 1) sometimes it's not necessary ...

  7. 2016年8月17日 内省(1)18_黑马程序员_使用beanUtils操纵javabean

    8.内省(1):18_黑马程序员_使用beanUtils操纵javabean 1.导入两个包: 2.调用静态方法. 9.泛型 map.entrySet() :取出map集合的键值对组成一个set集合. ...

  8. swiper和Navigator组件

    <swiper class="index-banner" indicator-dots="{{true}}" autoplay="{{true} ...

  9. eslint推荐编码规范和airbnb推荐编码规范

    Eslint规范 for 循环禁止使用无限循环(这个非默认推荐) // bad for (var i = 0; i < 10; i--) { } for (var i = 10; i >= ...

  10. Laravel Cache 缓存使用

    导入:use Cache; Cache::put('key', 'value', $minutes); 添加一个缓存 Cache 门面的 get 方法用于从缓存中获取缓存项,如果缓存项不存在,返回 n ...