3

我有一个包含以下编码的类

import java.util.Scanner;
import java.io.*;

public class someClass {

    public static void main(String[] args) {
        Product[] p= new Product[3];
        p[0] = new Product();
        p[1] = new Product();
        p[2] = new Product();
        p[0].name="John";    // Product is a class which contains variable String name;  
                             // and a method getName() which is returning the name;
        p[1].name="Tony";
        p[2].name="Abraham";
        somePrintMethod();
    }

    public static void somePrintMethod() {
        for(int i =0;i<3;i++) {
            System.out.println(p[i].getName());
        }
    }
}

所以我的问题是我可以在任何其他方法中使用主类中定义的对象吗?

在同一个类中的目的或有任何方法可以使用该对象,因为我正在尝试

这样做,它给了我一个错误,我不知道该怎么做。

4

2 回答 2

1

方法中的变量仅在该方法中。因此,您需要在方法之外和类本身下初始化变量。之后,您可以创建变量static,这样您就不需要使用以下方法创建类的实例:

static Product[] p = new Product[3];

之后public class someClass {。请注意,这使得变量的值在该类的所有实例中都相同,因此您可以在类中的任何方法中使用它,只需使用p.

于 2013-07-22T04:01:17.163 回答
1

您可以创建p一个static变量,在外部声明main

static Product[] p = new Product[3];

但是你当然应该首先确保在你的程序上下文中做这样的事情是有意义的。

于 2013-07-22T03:51:53.227 回答