如何在不声明的情况下从另一个类更改和获取对象?

时间:2019-04-01 19:24:31

标签: java class scope

我是Java新手。我想从一个类中获取和更改对象(例如:类摄像机或类麦克风,以及类camera1,camera2,camera3,麦克风1,麦克风2,麦克风3在其类中的每个对象都带有价格,名称,分数),我想获取一个的名称反对并在不创建新类别的情况下更改其他类别的价格。

这是头等舱:

public class Microphone{
String name;
int price;
/** Constructors, setters and getters */

Microphone mic1 = new Microphone("mic1",200);
Microphone mic2 = new Microphone("mic2",300);}

这是第二堂课:

public class Camera{
String name;
int price;
/** Constructors, setters and getters */
Camera cam1 = new Camera("cam1",500);
Camera cam2 = new Camera("cam2",1000);}

在主类(或在诸如Shop,menu等的其他类中)中,我想获取某人的对象的价格,例如cam1.getPrice和mic2.setPrice,这样我就可以与游戏中玩家的状态进行比较如果他负担得起并改变价格。

2 个答案:

答案 0 :(得分:0)

您可以使用您的对象类型在Main类中创建ArrayList并通过这种方式进行管理。然后,您可以根据需要修改对象。如果创建接口类,则可以执行以下操作: 首先创建接口类,我命名了我的Device并给了它一个设置成本的方法。您可以添加任何需要添加的方法,例如setDate,setModel,setName等。

public interface Device
{
    void setCost(double costIn);
}

接下来创建麦克风类,并使其实现Device。之后,您需要将Device方法添加到类中。

public class Microphone implements Device
{
    double cost = 0.0;

    public void setCost(double costIn)
    {
        cost = costIn;

    }

}

这是Camera的另一个类示例,也带有一个数据成员。

public class Camera implements Device
{

    double cost = 0.0;

    public void setCost(double costIn)
    {
        cost = costIn;

    }

    }

现在在您的主类中,您可以将所有设备放入一个ArrayList中,以便于操作和控制。

    public static void main(String[] args) throws FileNotFoundException
        {
            ArrayList<Device> arr = new ArrayList<Device>();
            arr.add(new Microphone());
            arr.add(new Camera());
        }

老实说,有很多方法可以解决您的问题,这只是一个例子。

答案 1 :(得分:0)

  • 创建一个类(也称为模型类),例如Car。
  • 然后在该类中定义相关属性。
  • 放入完整的args构造函数。
  • 进行设置和获取。

    LateUpdate

    }

  

因此,您可以使用getter和setter更改或继续创建的对象。   例如:Car c1 = new Car(“ Audi”);如果要更改汽车名称   c1.setName(“ Toyota”);