我想或多或少地掌握Java没有无边的拐倚在IDE的,所以我在赢得7的命令行模式下做到这一点......为了确保发生了什么。这两个源代码.java的工作,然后我在导入行中进行更改,然后出现错误(无需劳动!!!)。这是当它开始工作时的两段代码,然后是两条线来“运行它”,然后什么都不起作用。在java中更改import替代*使其不工作
它的本质是导入“thing.name;”不同于“导入的东西。*;” 我认为外卡焦点是使正是这种
/** A class to test the CashRegister class */
import animals.CashRegister;
public class ImaMain
{
public static void main(String[] args)
{
CashRegister register = new CashRegister();
register.recordPurchase(29.50);
register.recordPurchase(9.25);
register.enterPayment(50);
double change = register.giveChange();
System.out.println(change);
}
}
那主要运行的一部分。这是它在名为不同的文件使用类:CashRegister.java使得CashRegister.class
package animals;
/**
A cash register totals up sales and computes change due.
*/
public class CashRegister
{
public CashRegister()
{
purchase = 0;
payment = 0;
}
public void recordPurchase(double amount)
{
double total = purchase + amount;
purchase = total;
}
public void enterPayment(double amount)
{
payment = amount;
}
public double giveChange()
{
double change = payment - purchase;
purchase = 0;
payment = 0;
return change;
}
private double purchase;
private double payment;
}
我
javac *.java
准备它的快乐,我复制创建的.class文件到子目录:'动物',在它下面,回到一个水平,并运行它:
java ImaMain
11.25
11.25是答案。完美的权利? 我抹掉中并行级别的.class所以它的查找类文件,我想到,在子目录:动物
现在我改变主此行的方式更加复杂stuffola准备,:
/** A class to test the CashRegister class */
import animals.*;
public class ImaMain
{
public static void main(String[] args)
{
CashRegister register = new CashRegister();
register.recordPurchase(29.50);
register.recordPurchase(9.25);
register.enterPayment(50);
double change = register.giveChange();
System.out.println(change);
}
}
一行更改。从import animals.CashRegister;
至 - import animals.*;
的javac然后生成该错误:
bad class file: .\CashRegister.class
class file contains wrong class: animals.CashRegister
1 error
甚至没有得到虚拟运行一步。
主要部分文件被命名为:ImaMain.java
我做复制.class文件的地方去。我的意思是,当导入更明确时它确实有效。
classpath = .;C:\java\jdk1.7.0_05\lib
目前还不清楚这些文件实际存在于哪里,或者它们是从哪里编译而来的。无论哪种方式,都有不匹配的地方。 – 2014-09-02 23:15:34
/**一个类来测试CashRegister类*/ 进口动物。*;公共类ImaMain { public static void main(String [] args) { CashRegister register = new CashRegister(); register.recordPurchase(29.50); register.recordPurchase(9.25); register.enterPayment(50); double change = register.giveChange(); System.out.println(change); } } – 2014-09-02 23:15:47
ImaMain.java位于子目录C:\ temp_72 – 2014-09-02 23:17:09