gpt4 book ai didi

java - 我需要在各自的接口(interface)中声明抽象类的方法吗?

转载 作者:行者123 更新时间:2023-11-29 05:43:15 24 4
gpt4 key购买 nike

在我的应用程序中,我有两种类型的 Activity ,酒店和餐厅,我将它们实现为抽象类。我需要调用 HotelClass 上的一个方法,但 IDE 告诉我在 abstractActivity 中创建一个方法。如果我这样做,它将创建一个重复的方法。我该如何解决这个问题?

package pt;

public class HotelClass extends AbstractActivity {

private int starClass;
private int price; //preço medio por noite

// Basic Account Constructor
public HotelClass(String city, String name, String description, String address, int starClass, int price, String owner) {
super(city, name, description, address, owner); // chamada construtor super-class
this.starClass = starClass;
this.price = price;
}

public int getStar(){
return this.starClass;
}

public int getPrice(){
return this.price;
}

}

My abstract class and super class below interface

最佳答案

AbstractActivity 不是抽象。这就是 IDE 要求您实现这些方法的原因。如果你将它声明为抽象的,那么你就不会有这个问题。

public abstract class AbstractActivity implements ...

为了让事情更清楚:

抽象类 AbstractActivity 是一个不会被实例化的基类,它的存在是为了放置在具体类 HotelClass 中通用的功能>餐厅等级。抽象类不需要实现它实现的接口(interface)声明的所有方法。但是具体类必须为其实现的接口(interface)的所有方法提供实现。这就是为什么 AbstractActivity 不需要实现其实现的接口(interface)声明的所有方法。但是具体类(实例化的类)需要知道它们将如何实现接口(interface),因此它们需要实现所有方法。一些方法实现可以由它们的父类(super class)提供。

关于java - 我需要在各自的接口(interface)中声明抽象类的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16778724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com