您的位置:首页 > 编程语言 > Java开发

手动编译java的package问题,及演示继承的基本实现

2016-04-20 09:23 686 查看
不用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)


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: