实例化对象时编译错误

Posted

技术标签:

【中文标题】实例化对象时编译错误【英文标题】:Compilation error when instantiating object 【发布时间】:2019-11-01 09:14:35 【问题描述】:

我只想制作一个对象。但我不知道为什么会出现这个错误。我认为一切都是正确的,但弹出构造函数错误。它说需要 String,String,int 没有参数。这是为什么呢?

error: constructor Account in class Account cannot iven types required: String,String,int found: no arguments reason: actual and formal argument

我的代码

class Account
    private String accName;
    private String accID;
    private int balance;
    private Account()
        accName = "No name found";
        accID = "No id found";
    
    private Account(String name, String id, int bal)
        accName = name;
        accID = id;
        balance = bal;
    
    private void Withdrow(int amount)
        if(balance > amount)
        
        balance = balance - amount;
        System.out.println("Balance :"+balance);
        
        else
            System.out.println("Not Enough money");
    
    private void deposit(int amount)
        if(amount>0)
        
        balance = balance + amount;
        System.out.println("Balance :"+balance);
        
        else
            System.out.println("Error Deposit");
    
    private void showInfo()
        System.out.println("Name :"+ accName);
        System.out.println("ID :"+ accID);
        System.out.println("Balance :"+ balance);
    


class Main

    public static void main(String args[])

        Account ac = new Account();

    

【问题讨论】:

无参数构造器是私有的。在使用参数化对象创建对象时,要么将其公开,要么使用参数。 【参考方案1】:

公开你的构造函数并初始化balance属性

public Account()
    accName = "No name found";
    accID = "No id found";
    balance = 0;

【讨论】:

@lealceldeiro 依赖这样的默认值通常被认为是糟糕的编程风格。

以上是关于实例化对象时编译错误的主要内容,如果未能解决你的问题,请参考以下文章

CustomView 无法实例化(编辑器预览错误,编译后没有显示)

我可以让 C++ 编译器在编译时实例化对象吗?

Visual Studio 2003 C#,结构编译错误

C 数组实例化 - 堆栈或堆分配?

Tomcat 运行后 class 文件不编译

angular2-jwt 编译元数据解析器错误