我正在使用Java Beans使用抽象类创建一个简单的程序。我的形式的粗略草图是:
付款(标签)
此标签位于JFrame中。
现在我有一个名为payment的抽象类,它有以下形式:
public abstract class Payment {
private double amount;
Payment(){
amount=1200.56;
}
public double getAmount(){
return amount;
}
public abstract boolean verified();
}
所以我想要的是当程序开始运行要在JFrame中的标签中打印的金额值时。我这样做了:
public NewJFrame() {
initComponents();
Payment pay=new Payment();
jLabel1.setText(Double.toString(pay.getAmount()));
}
我得到的错误信息是我无法实例化抽象类。从理论上讲,我读过这是不可能的,但使用匿名抽象类。还有其他方法可以解决我的问题吗?我的意思是在标签上加上要支付的金额?
由于
答案 0 :(得分:2)
您需要创建具体的付款类。
以下是如何使用匿名具体付款类的示例:
Payment pay=new Payment() { public boolean verified() { return false; } };
答案 1 :(得分:0)
为什么你需要这样一个类完全抽象?你可以创建类的子类并在那里设置值,但我不确定这个例子的目的是什么:s
答案 2 :(得分:0)
您无法创建abstract
类的实例。
无论您想做什么,都可以通过扩展abstract
课程来实现。