java - 使用静态类或抽象类创建对象

标签 java android

所以我有一个一般性的问题。假设我想在我正在编写的这个程序中创建汽车对象,我必须创建数百个这个汽车对象。当我制作我的汽车对象(即丰田、尼桑等)时,是创建一个汽车抽象类并扩展它更好,还是我可以使用一堆静态类来保存特定对象的细节并在一般情况下使用它汽车对象制造丰田或日产?我认为使用抽象方法应该很容易解释,但这是第二种方法的示例:

public class CarNames {

public static String getCarName(int pCarIndex){

    switch (pCarIndex) {
    case 0:         
        return "Toyota";
    default:
        throw new Error("pCarIndex does not exist!");
    }
}

}

在这个类中用来创建对象:

public class Car{

    private int mCar_ID;//This indicates which Car to load
    private String mCarName;

public Car(int pCar_ID){
    mCar_ID = pCar_ID;
            mCarName = CarNames.getCarName(pCar_ID);
            //Do Stuff with collected parameters 
}

}

如果有什么不合理的地方,请告诉我。谢谢。

编辑:汽车可能有不同的参数,例如尺寸、引擎等。我选择抽象类的原因是因为我认为它比接口(interface)提供更多的灵 active ,因为我可以在线添加方法。

最佳答案

Is it better to create a car abstract class and extend it when I make my car object(i.e. Toyota, Nissan, etc.) or could I use a bunch of static classes that hold the details of the specific object and use that in a general car object to make the Toyota or Nissan?

都没有。您只有一个 Car 类和一个包含特定车辆详细信息的文件(例如,数据库)。然后,您可以根据文件内容创建该 Car 类的实例。

The cars may have different parameters such as size, engine, etc.

过去半个世纪的程序员将其称为“数据”。融入源代码的数据越少越好。

关于java - 使用静态类或抽象类创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9878918/

相关文章:

java - 如何比较两个位置

java - 如何在debian虚拟机上安装java

android - 从 Android 通知中获取详细信息/扩展文本?

android - 如何创建允许个人资料图片上传/更改的应用程序?

android - 每个选项卡上的复选框列表

具有更多数据结构的 Java 库

java - 如何从我的 fragment 之一添加数据,并将其传递到我的适配器,并将其设置到我的数组列表?

java - 将 &nbsp 作为字符串处理

android - 如何以编程方式发送通知栏备份?

java - 安卓表情实现