【发布时间】:2022-01-10 23:26:21
【问题描述】:
我正在学习 Java 和 Spring 框架,因此,在我的 Java Web 应用程序中,我有接口 Client 和两个实现此接口的类 - PersonClient 和 CompanyClient。此外,还有接口 Account 和实现此接口的类 - DebitAccount:
package com.bankapp.bankwebapplication.models;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class DebitAccount implements Account {
@Id
private Long id;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
private Long clientId;
public Long getClientId() { return clientId; }
public void setClientId(Long clientId) { this.clientId = clientId; }
private Long amountOfMoney;
public Long getAmountOfMoney() { return amountOfMoney; }
public void setAmountOfMoney(Long amountOfMoney) { this.amountOfMoney = amountOfMoney; }
}
本课程已提交clientId。这是一个问题。如您所见,这不是数据库,所以,我不能只创建private Long clientId。它必须是类而不是 Long 数据类型,但是,我有接口,我不能创建接口实例,但我明白,我不能这样,它必须是类数据类型,不是Long。
我在考虑抽象类,但是和接口一样,它是关于多态性的,我也不能创建抽象类实例。如何弄清楚?还是应该只为CompanyClient 和PersonalClient 创建2 个字段?
【问题讨论】:
-
我不太明白这个问题。是什么阻止您声明
Client client;? -
首先,据我所知,你不能创建抽象类的接口实例(在这种情况下),其次,当我尝试这样做时,我得到了这个错误:@ 987654334@
标签: java spring interface polymorphism abstract-class