[英]My Object isn't being called in my main function
我試圖通過main函數調用我的對象。 由於它需要靜態引用,但我卻莫名其妙地做到了。 有人可以告訴我我在做什么錯嗎?
private double checking;
private double saving;
public BankDisplay(double checking,double saving) // Constructor for subclass
{
checking=1000;
saving=1000;
}
public void setChecking(double checking){
this.checking=checking;
}
public double getChecking(){
return checking;
}
public void setSaving(double saving){
this.saving= saving;
}
public double getSaving(){
return saving;
}
BankDisplay checking1=new BankDisplay(checking, saving);
BankDisplay savings1= new BankDisplay(checking,saving);
當我嘗試打印對象checking1和saving1時,它主要顯示“無法為靜態函數提供非靜態引用”。
public BankDisplay(double checking,double saving) // Constructor for subclass
{
this.checking=checking;
this.saving=saving;
}
There is an error in constructor.
public static void main(String[] args){
BankingDisplay d1 = new BankingDisplay(100.15,200.15);
System.out.println(d1.getChecking());
}
您的構造函數的方法是錯誤的,應該是:
public BankDisplay(double checking,double saving) // Constructor for subclass
{
this.checking = checking;
this.saving = saving;
}
您還應該在類中具有toString()
函數,以便您正確打印對象。
如:
public String toString() {
return String.format("Checking: %s\nSavings: %s\n", this.checking, this.saving);
}
像這樣使用:
System.out.println(checking1.toString());
public class BankDisplay {
private double checking;
private double saving;
public BankDisplay(double checking,double saving) // Constructor for subclass
{
this.checking= checking;
this.saving= saving;
}
public void setChecking(double checking){
this.checking=checking;
}
public double getChecking(){
return checking;
}
public void setSaving(double saving){
this.saving= saving;
}
public double getSaving(){
return saving;
}
}
public class Main {
public static void main(String[]args){
BankDisplay account1 = new BankDisplay(1000,100);
System.out.println(account1.getChecking());
}
}
這應該可以解決您的問題:D在構造函數中需要this
設置,因為您正在設置構造函數的值,而不是私有變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.