public class Exercise1 {
public static void main(String[] args) {
int[] a = new int[args.length];
for(int i = 0; i < args.length; i++) {
a[i] = Integer.parseInt(args[i]);
}
print(a);
}

private static void print(int[] a) {
for(int i = 0; i < a.length; i++) {
System.out.print(a[i]);
}
}
}
请问print()方法为什么前面一定要加static 才可以通过,在同一个类中也要static吗,这是哪方面的知识呢?在main函数中写print()方法时编译会出错,谁能给我讲讲哦,我在这方面老会迷糊。谢谢

解决方案 »

  1.   

    在main方法里访问不了非静态的print方法啊要想访问的话,得建个对象。
      

  2.   

    private方法和private属性不能在类的外部访问.可以用类的成员方法调用.
      

  3.   

    这个原理还的从原来的类加载说起啊
    private方法和private属性不能在类的外部访问.可以用类的成员方法调用.
      

  4.   

    谢谢,那把print()方法写在main()里面怎么也有错呢?
      

  5.   

    问题是这样的,main函数是一个静态方法,而静态方法是不能调用非静态的方法的,你可以先实例化该类,然后用实例的引用调用print方法
      

  6.   

    楼主问的问题
    好象跟private没啥关系吧print()方法可以不加static 
    可以在main()方法里new一个Exercise1的对象,用对象调用print()方法就行了
      

  7.   

    main方法也是Exercise1类一个成员方法,在没有创建Exercise1类的对象的时候,只能访问它的static方法和属性.
    由于main是Exercise1类的成员方法,所以访问Exercise1类的static方法时,可以将Exercese.print简写为print.
    这是我的理解,不知道解释的清除了没有