どのように私は別のクラスで定義されたオブジェクトにアクセスすることができますか?

yeri123:

私は、それは次のようにエンジンクラスのオブジェクトを持っている、潜水艦と呼ばれるクラスを持っています。もちろん、これは全体のコードではありません、私はちょうど概念を理解しようとしています。私が作成したShipStorageクラスOBJを持つUserクラスのエンジンOBJを使用します。ShipStorageクラスは、その中にエンジンクラスOBJを有するものです。私だけではない団体に関連したソリューションは参考になりますので、相続これまでの関連付けを行っています。

潜水艦CLAS

public class Submarine
{
     private Engine eng;
     public void Submarine()
     {
         eng = new Engine();
     }

}

船ストレージクラス

public class ShipStorage
{
    private Submarine[] submarine = new Submarine();
}

Userクラス

public class User
{
   ShipStorage store = new ShipStorage();
  //want to access engine object here

}
アービンド・クマールのAvinash:

あなたは持っている必要がありますpublicのためのアクセサ(ゲッター)private他のクラスにアクセスするためのメンバーを。

次のように実行します。

import java.util.Scanner;

class Engine {
    String name;
    int year;
    String manufacturer;

    public Engine() {
    }

    public Engine(String name, int year, String manufacturer) {
        this.name = name;
        this.year = year;
        this.manufacturer = manufacturer;
    }

    // getters and setters of instance variables

    @Override
    public String toString() {
        return "Engine [name=" + name + ", year=" + year + ", manufacturer=" + manufacturer + "]";
    }
}

class Submarine {
    private String id;
    private Engine engine;

    public Submarine(String id, Engine engine) {
        this.id = id;
        this.engine = engine;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setEngine(Engine engine) {
        this.engine = engine;
    }

    public Engine getEngine() {
        return engine;
    }

    @Override
    public String toString() {
        return "Submarine [id=" + id + ", engine=" + engine + "]";
    }
}

class ShipStorage {
    private Submarine submarine;
    private Submarine[] submarines;

    public void setSubmarine(Submarine submarine) {
        this.submarine = submarine;
    }

    public Submarine getSubmarine() {
        return submarine;
    }

    public void setSubmarines(Submarine[] submarines) {
        this.submarines = submarines;
    }

    public Submarine[] getSubmarines() {
        return submarines;
    }
}

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        ShipStorage store = new ShipStorage();

        // Input submarines
        Submarine[] submarines = new Submarine[3];
        String id, name, manufacturer;
        int year;
        for (int i = 0; i < submarines.length; i++) {
            System.out.print("Enter the ID of the sumarine: ");
            id = in.nextLine();
            System.out.print("Enter the name of its engine: ");
            name = in.nextLine();
            System.out.print("Enter the manufacturing year of its engine: ");
            year = Integer.parseInt(in.nextLine());
            System.out.print("Enter the manufacturer's name of its engine: ");
            manufacturer = in.nextLine();

            submarines[i] = new Submarine(id, new Engine(name, year, manufacturer));
        }

        // Store submarines to ShipStorage
        store.setSubmarines(submarines);

        // Display submarines
        System.out.println("Displaying the data: ");
        for (Submarine submarine : store.getSubmarines()) {
            System.out.println(submarine);
        }
    }
}

サンプルを実行します。

Enter the ID of the sumarine: 1
Enter the name of its engine: A
Enter the manufacturing year of its engine: 2010
Enter the manufacturer's name of its engine: X
Enter the ID of the sumarine: 2
Enter the name of its engine: B
Enter the manufacturing year of its engine: 2011
Enter the manufacturer's name of its engine: Y
Enter the ID of the sumarine: 3
Enter the name of its engine: C
Enter the manufacturing year of its engine: 2018
Enter the manufacturer's name of its engine: Z
Displaying the data: 
Submarine [id=1, engine=Engine [name=A, year=2010, manufacturer=X]]
Submarine [id=2, engine=Engine [name=B, year=2011, manufacturer=Y]]
Submarine [id=3, engine=Engine [name=C, year=2018, manufacturer=Z]]

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=282041&siteId=1