2012-11-29 23 views
0
public class NewClass { 
    int[] anArray = {1,2,3,4}; 
} 

public class NewerClass {  
    public static void main(String[] args){ 
     sendToMethod(NewClass.anArray); 
    } 
} 

很明显,我如何在上面写它不起作用,我想知道如何(如果可能)它可以完成?使用不同类别的阵列

基本上我想有一个类的数组(NewClass),并希望能够使用NewerClass的方法,而在主要方法NewerClass

它不是必不可少的,我只是玩弄想法。

+2

您也可以看看的Java封装“的Java从stackoverflow访问修饰符的关键字。 – HRgiger

回答

2

你可以通过访问方法将其暴露:

public class NewClass { 
    private int[] anArray = { 1, 2, 3, 4 }; 

    public int[] getAnArray() { 
     return anArray; 
    } 
} 

public class NewerClass { 
    public static void main(String[] args) { 
     NewClass myNewClass = new NewClass(); 
     sendToMethod(myNewClass.getAnArray()); 
    } 
} 
+0

虽然玩耍,我用这个:'sendToMethod(NewClass.class.newInstance()。anArray);'它似乎工作? 虽然你的代码看起来很好,但是... – binary101

+0

你做这件事的方式会有点迂回,和'(New NewClass())。anArray'没什么区别。 –

+0

@qwertyRocker @RobHruska描述的方式绝对会更好,不要使用'NewClass.class.newInstance()' – durron597

2

,如果你有像这样它的工作:

public class NewClass { 
    public static final int[] anArray = {1,2,3,4}; 
    // final is optional. 
} 

,但我不知道你想达到的目标。

1

你可以做任何

public class NewClass { static int[] anArray = {1,2,3,4}; } 

public class NewerClass { 
    public static void main(String[] args){ 
     sendToMethod(new NewClass().anArray); 
    } 
}