我想或多或少地掌握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