java - 方法检索和继承困惑

标签 java class inheritance methods private-methods

好吧,所以我遇到了很多麻烦,我仍在学习 Java,我的书给我设置了一个我在网上发现的常见任务,我陷入困境的部分是......

我必须创建一个银行账户计划,为账户持有人提供一个储蓄账户(有利率且无 overdraw 便利)和一个支票账户(有 100 英镑的 overdraw 便利且无利息)。

我还没有实现 overdraw ,只准备了一半的提款和存款功能,但我的问题是利息,我已经在我的父类(super class)中定义了储蓄账户余额和支票账户余额,所以在计算时我对储蓄账户类别的兴趣我无法引用 savebalance,因为我已将其设为私有(private)。我正在尝试使用 set.name 方法,但我显然做错了......

对任何能够提供帮助或提供建议的人,一个灿烂的微笑和感谢!

父类(super class)如下:

public class BankDetails
    {
        private String customer;
        private String accountno;
        private double savebalance;
        private double checkbalance;


//Constructor Methods

 public BankDetails(String customerIn, String accountnoIn, double savebalanceIn, double checkbalanceIn)
        {
            customer = customerIn;
            accountno = accountnoIn;
            savebalance = savebalanceIn;
            checkbalance = checkbalanceIn;
        }

      // Get  name
      public String getcustomername()
        {
            return (customer);
        }

      // Get account number
      public String getaccountnumber()
        {
            return (accountno);
        }

       public double getcheckbalanceamount()
        {
            return (checkbalance);
        }

       public double getsavebalanceamount()
        {
            return (savebalance);
        }


public void savewithdraw(double savewithdrawAmountIn)

  {
        savebalance = savebalance - savewithdrawAmountIn;

  }

public void checkwithdraw(double checkwithdrawAmountIn)

  {
        checkbalance = checkbalance - checkwithdrawAmountIn;

  }


 public void savedeposit(double savedepositAmountIn)

  {
        savebalance = savebalance - savedepositAmountIn;

  }

public void checkdeposit(double checkdepositAmountIn)

  {
        checkbalance = checkbalance - checkdepositAmountIn;

  }




    } // End Class BankDetails

子类如下:

    import java.util.*; 

public class Savings extends BankDetails
  {

      private String saveaccount;
      private double interest;


      public Savings(String customerIn, String accountnoIn, float interestIn, 
      String saveaccountIn, double savebalanceIn)
        {


            super (customerIn, accountnoIn, savebalanceIn, interestIn);


            saveaccount = saveaccountIn;
            interest = interestIn;

        }


      public String getsaveaccountno()
       {
           return (saveaccount);
       }

      public double getinterestamount()
       {
           return (interest);
       }


      public void interestamount(String[] args)

       {
           BankDetails.getsavebalanceamount(savebalance);
           interest = (savebalance / 100) * 1.75;


       }


       }

最佳答案

使用父类(super class)的 getSaveBalance() 方法来访问余额(该方法的名称很可疑,因为您有一个储蓄帐户类,但将余额保留在其他地方)。

(目前是 getsavebalanceamount(),我假设要重命名以符合 Java 约定。)

<小时/>

我建议在命名 getter 和 setter 时使用一致的 CamelCase,例如 getInterestAmount()getSaveAccountNo() 等。

我建议不要注释简单的 getter/setter,但如果这样做,请使用 Javadoc 约定,例如:

/** Returns current savings account balance. */
public double getSaveBalance() { ... etc ... }

我还建议避免不必要的括号,就像目前在 setter/getter 中一样,例如:

public double getSaveBalance() {
    return saveBalance; // No parens required.
}

关于java - 方法检索和继承困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864683/

相关文章:

java - HTTP 的 SSL 重新协商工作流程

java - Play 框架调用 render() 方法时出现问题

java - 如何将 Eclipse 工作区分离为 android 和普通 Java

javascript - 类函数不是函数

java - 返回方法值的类

python - 有可能知道python中子类文件的路径吗?

c# - 操作系统设计问题 : File types associated with their appropriate programs

java - java中的Oracle连接(错误是无效的列名)

Python:如何在自身内部引用一个类?

c# - 如何从 C# 中的封闭构造类中获取基类对象