2017-09-14 130 views

回答

0

当你做

class A { 
    int a; 
} 

的整数一个可以通过在A类的任何其他实例方法来访问,并且所有子对象(一些包的限制),以及...

所以米艾因的区别是变量

,另一方面范围......当你做

public A() { 
     int a; 
    } 

的变量是指出范围一旦构造函数返回...

0

class A { int a; }中,变量a在整个类中由您将实现的所有方法(以及其他包的类,int中的精确情况)共享。

至于class A { public A() { int a; } }变量a只能在构造函数的作用域内访问。这意味着它在构造函数返回时被销毁。

在第一类中,a是堆分配的,而在另一种情况下,它是堆栈分配的。

0

class A { 
    int a; 
} 

变量可以在任何地方在类

但是所使用的,在

class A { 
    public A() { 
     int a; 
    } 
} 

可变a可以只在函数内部访问A()

所以

class A { 
    int a; 
    public printA() { 
     Log.i("TEST", a); // will work fine 
    } 
} 

class A { 
    public printA() { 
     int a; 
     Log.i("TEST", a); // will work fine 
    } 
    public void printA1() { 
     ... 
     ... 
     Log.i("TEST", a); // will throw an error 
    } 
} 
0

类变量2种类型

  1. 静态变量 - 类级变量
  2. 非静态变量 - 实例变量

构造,实例方法可以访问静态和非静态静态变量,但构造函数变量是局部变量,如方法变量,我们不能访问构造函数之外。

相关问题