使用java中的main方法为类创建对象时会发生什么

时间:2014-12-26 10:43:51

标签: java

当我使用main方法为类创建对象时会发生什么。我可以在main方法中使用那些实例变量,因为它们在同一个类中吗?

   class matrix
 {

int i,j;   
int a[10];
  Scanner one=new Scanner(System.in);
  public static void main(String args[])
   {
   matrix obj=new matrix();
   System.out.println("Enter the numbers");
   obj.create(a); // is it correct to use 'a'(instance variable) inside main() ?     
   }



   void create(int[] a)
   {
    // code
 }

3 个答案:

答案 0 :(得分:3)

不,因为您无法在static方法中使用非静态变量,请更改

obj.create(a)

obj.create(obj.a)

答案 1 :(得分:1)

您不能在main方法中使用实例变量,因为它们不是静态的。您只能使用静态成员。但是,您可以在静态上下文中使用新创建的实例的成员。

obj.create(a.anyMemberofObjecta);

阅读有关Java中静态上下文的更多信息。

答案 2 :(得分:0)

您不能使用obj.create(a),因为它不是静态的,这意味着它必须由实例变量引用。

所以你必须使用

obj.create(obj.a)