局部变量,实例字段,输入参数和类字段之间有什么区别?
相对于简单的Java程序,局部变量,实例字段,输入参数和类字段之间有什么区别?
局部变量在块的范围内定义。 它不能在该块之外使用。
例:
if(x > 10) { String local = "Local value"; }
if
阻止我不能使用local
以外的local
。
实例字段或字段是绑定到对象本身的变量。 我可以在对象中使用它而无需使用访问器,并且对象中包含的任何方法都可以使用它。
如果我想在对象之外使用它,并且它不public
,我将不得不使用getter和/或setter。
例:
public class Point { private int xValue; // xValue is a field public void showX() { System.out.println("X is: " + xValue); } }
输入参数或参数甚至参数是我们传递给方法或构造函数的东西。 它具有关于我们传递给它的方法或构造函数的范围。
例:
public class Point { private int xValue; public Point(int x) { xValue = x; } public void setX(int x) { xValue = x; } }
两个x
参数都绑定到不同的范围。
类字段或静态字段类似于字段,但不同之处在于您不需要使用包含对象的实例来使用它。
例:
System.out.println(Integer.MAX_VALUE);
我不需要Integer
实例来检索全局已知的所有int的最大值。
不完全的。
类字段是您认为的局部变量,但它通常是静态字段,因此在所有实例中都是相同的。
实例字段与类字段相同,但是非静态,并且对于对象的每个实例可以是不同的。
http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html
局部变量是方法或块内的变量,只能由该方法或块使用。
哦,您的输入参数定义是正确的,输入参数是作为参数传递给方法的字段。
类字段通常称为类变量,您可以在此处找到该信息
首先阅读类和对象
我知道局部变量是一个可用于它所在类的变量,对吗?
不,通常局部变量是指仅在声明的区域内具有上下文的变量。 这通常是指在方法和{...}
块中声明的变量(如if
语句)
实例字段是在构造函数中创建的对象……?
实际上,实例字段是在类级别声明的任何字段,它不是静态的,因此它的值只对类的单个实例有意义
输入参数是传递给方法的参数。
是
但我不知道课堂领域!
类字段和实例字段(通常)是相同的。 唯一的区别是如果字段被声明为static
,那么它不能是实例字段……
局部变量是方法的本地变量。
实例字段是类的实例的字段,即对象。
参数传递给方法
我假设一个类字段是一个与该类关联的静态字段。 例如,如果您使用多个类加载器,则可以使用具有相同名称和自己的静态字段的多个类。
局部变量是方法中的变量。 它的范围仅限于它周围两个括号的范围。 {}
例:
public void someMethod () { int localVariable1 = 5; if (...) { int localVariable2 = 7; } }
对于实例字段 ,我认为您的意思是一个类实例的成员。 例如,如果你使用Dimension
类,这将是height
或width
。 。 正如您所猜测的, 输入参数是方法中的参数。
类字段是静态方法中的字段。