簡體   English   中英

我的主函數未調用我的對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM