- 变量的‘可见性’(或作用域)是指代码中可以引用该变量的位置。
你可以在程序中的任意位置使用某些变量,但其他某些变量只能在其类中使用,还有一些变量只能在一种方法中使用。
-
在方法中声明的变量从其声明开始到方法结束一直存在(可见)。
-
在代码块中声明的变量在代码块结束之前一直存在。
-
方法的参数在该方法中随处可在。
-
对象中的变量在包含它们的对象的整个生命周期中都存在。变量的可见性也可以由特殊的访问修饰符定义:public 和 private。
-
static(类)变量在程序运行的整个过程中都存在。变量的可见性也可以由访问修饰符定义。
- public 访问修饰符。
你可以在程序中的任意位置使用标有 public 修饰符的变量、方法或类。这是最高的访问级别 – 这里没有任何限制。
- private 访问修饰符。
对于标有 private 修饰符的变量或方法,你只能从声明该变量或方法的类中使用它们。对于所有其他类,标记的方法或变量将不可见,就像不存在一样。这是最高的封闭级别 – 只能在它自己的类中访问。
3.无修饰符。
如果变量或方法未标有任何修饰符,则被视为标有“默认”访问修饰符。此类变量和方法对于声明它们的包中的所有类都是可见的。并且仅对这些类可见。这种访问级别有时称为“package-private”访问,因为对这些变量和方法的访问对于包含其类的整个包是开放的。
- 引用变量是所有的非原始变量。这些变量只包含对象引用(指向对象的引用)。
- 原始变量包含值,而引用变量存储对象的引用或 null。
什么是引用?
-
对象与对象引用之间的关系就像一个人与其电话号码之间的关系一样。电话号码不是那个人,但可用于给该人打电话,询问一些信息,管理她或下达命令。引用也用于处理对象。所有对象都使用引用彼此交互。
-
为原始变量赋值时,将复制该值。如果为引用变量赋值,则只复制对象的地址(电话号码)。对象本身不会被复制。
-
引用还有一个好处:你可以将对象引用传递给任意方法,然后方法能够使用该引用,通过调用对象的方法并访问对象内部的数据来修改(更改)对象。
只是把值 5 (m) 和 6 (n) 分别赋给变量 a 和 b;a 和 b 完全不知道(也不会以任何方式影响)m 和 n。
分别将对 jen 和 beth 的引用赋给变量 a 和 b;a 和 b 更改对象 jen 和 beth 内部的值。
调用方法,返回值
- 命令(或语句)被分组为方法,因此它们可以像单个复杂命令一样作为单个块执行。要完成此操作,你需要编写方法(函数)名称,然后在括号内列出该方法的参数。
-
不仅可以将参数(值)传递给函数,函数还可以返回其工作结果(返回值)。这是通过关键字 return 完成的。它的代码是这样的:
-
当执行 return 语句时,Java 机器会计算单词‘return’右侧的表达式的值,将此值存储在内存的特殊部分,然后立即结束函数。
想好了吗?