我在一个文件夹中有三个类:
Waehrung 与Englisch的货币相同!
public abstract class Waehrung {
public abstract double dollarBetrag();
}
USDOLLAR
public class UsDollar extends Waehrung {
private double wert;
public UsDollar(double wert){
this.wert = wert;
}
public double dollarBetrag(){
return wert;
}
}
颜
public class Yen extends Waehrung{
double wert;
private static double kurs;
public Yen(double wert){
this.wert = wert;
}
public void setKurs(double kurs){
this.kurs = kurs;
}
public double dollarBetrag(){
return wert * kurs;
}
}
现在我想要另一个应该利用其他的java类: 银行
public class Bank {
public static void main(String[] args){
Yen yen = new Yen(34);
Yen.setKurse = (1.0/130);
System.out.println(yen.dollarBetrag);
}
}
我的问题是,我不明白如何链接其他类!我用import package
做了一些尝试,但它从未正确编译!我怎么了?或者我该如何解决这个问题!
答案 0 :(得分:2)
您似乎没有将课程放在任何包中。看这里。
<强> com.currency.Waehrung 强>
package com.currency;
public abstract class Waehrung {
public abstract double dollarBetrag();
}
com.currency.USDollar class
package com.currency;
public class UsDollar extends Waehrung {
private double wert;
public UsDollar(double wert){
this.wert = wert;
}
public double dollarBetrag(){
return wert;
}
}
<强> com.currency.Yen 强>
package com.currency;
public class Yen extends Waehrung{
double wert;
private static double kurs;
public Yen(double wert){
this.wert = wert;
}
public void setKurs(double kurs){
this.kurs = kurs;
}
public double dollarBetrag(){
return wert * kurs;
}
}
现在,您已将所有这些类放在com.currency
包中。这意味着您确保com\currency
文件夹中存在这些类文件(.class)文件。
现在,您可以编写课程
import com.currency.*;
public class Bank {
public static void main(String[] args){
Yen yen = new Yen(34);
yen.setKurs(1.0/130);
System.out.println(yen.dollarBetrag());
}
}
现在您可以直接使用这些类。确保文件夹 com \ currency 存在。
您在Bank
课程中写的错误是:
Yen.setKurse = (1.0/130);
System.out.println(yen.dollarBetrag);
在第一行中,您使用了Yen
这是类名。你应该使用yen
作为参考,因为setKurs()是一个方法。同一行中的另一个错误是setKurs()是方法名称而不是实例变量。所以你也应该调用setKurs(),setKurse
是错误的'e'是一个错字。
接下来,dollarBetrag
是一种方法,因此您应该yen.dollarBetrag()
谢谢:)
答案 1 :(得分:0)
如果您想全部导入它们:
import com.yourpackage.money.*;
如果您的意思是保留对它们的某种形式的引用,我通常会将它们存储在Map
或Array
中。帮助实现toString
或以某种方式获取此存储的金钱名称。
Map<String, Waehrung> currency = new HashMap<>();
Waehrung[] money = new Waehrung[]{
new Yen(),
new Dollar()
// etc...
}
for (Waehrung m : money) {
currency.put(m.getName(), m);
}
答案 2 :(得分:0)
如果类不在同一个包中那么你必须使用import语句应该是那样的
import yourpackageNameofYen.Yen;
import yourpackageNameofUsDollar.USDollar;
您必须将这两个import语句放在第三类Bank
的包声明之下例如
Package a;
import yourpackageNameofYen.Yen;
import yourpackageNameofUsDollar.USDollar;
public class Bank {
public static void main(String[] args){
Yen yen = new Yen(34);
Yen.setKurse = (1.0/130);
System.out.println(yen.dollarBetrag);
}
}