有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中从另一个类访问对象?

我知道这个问题已经被问了很多种类型,但我没有解决这个问题。所以下面。我已经创建了一个类,它正在创建2个位置的数组。目标是创建点坐标,以便稍后生成多个点。这是我的密码

import java.util.Random;

public class Coor {



private static int[] coord;

public static int[] generate(){
    coord = new int[2];   
    return coord;
}

public static void printX(){

        System.out.println("X = " + coord[0] );

}
public static void printY(){

    System.out.println("Y = " + coord[1] );

}

public static int randomFill(){
    Random rand = new Random();
    int randomNum = rand.nextInt(99);
    return randomNum;
}

public static void main(String args[]) {

      generate();
        for(int i = 0; i < 2; i++){
            coord[i] = randomFill();
        }
        printX();
        printY();
    }


}

所以,这是完美的,但我想要的是在另一个类中创建点并在那里使用它们,但我不知道如何实现这一点。我是java新手,我几乎理解了oracle文档中的一些示例,但无法实现它。你能帮我一点忙吗?我只需要一个示例类来获取点的坐标,然后我可以根据需要单独扩展它


共 (1) 个答案

  1. # 1 楼答案

    你不应该让你的数据是静态的,你应该提供一个公共构造函数,见下文

    public class Coord {
    
    private int[] coord;
    
    public Coord(int x, int y) {
        coord = new int[2];
        coord[0] = x;
        coord[1] = y;
    }
    
    public void printX(){
        System.out.println("X = " + coord[0] );
    }
    
    public void printY(){
        System.out.println("Y = " + coord[1] );
    }
    
    public static void main(String[] args) {
        Coord c1 = new Coord(10, 11);
        Coord c2 = new Coord(23, 14);
    }
    }