将数组传递给构造函数?

时间:2017-07-01 06:31:38

标签: java arrays constructor

我花了9个小时试图解决这个问题,但这并不奏效。它返回错误"未找到符号"当我在main()方法中创建 ship 的实例时。

public class ship   {

     private String thisArray [] = {"I", "hate", "you"};

     // my constructor:
     public ship (String [] thisArray) {  this.thisArray = thisArray }; 

     public String toString () { String out; return out =  thisArray; }
}

申请:

class shipdemo
{
    public static void main (String [] args) {      
        ship = new ship( thisArray[2] );
        ship.toString();
        //  I am expecting this to print: "YOU"  but instead it gives me: 
        // error: cannot find symbol                  
    } 
}

提前感谢您的帮助。

更新:现在已经有2年左右的时间了,我只是想把它放在这里看看它的笑声......

1 个答案:

答案 0 :(得分:1)

由于shipthisArray是实例变量(即非static),因此您无法在main(即static上下文中使用这些变量),尝试创建一个本地ship变量并将thisArray标记为静态,如果它需要在对象之间共享,例如:

private static String thisArray [] = {"I", "hate", "you"};

public static void main (String [] args) { 
    Ship ship = new ship(thisArray);
    System.out.println(ship);
}
staticinstance个变量上

Here's了。