Java变量与方法的使用及参数传递
立即解锁
发布时间: 2025-08-18 02:13:20 阅读量: 4 订阅数: 19 

### Java 变量与方法的使用及参数传递
在 Java 编程中,变量和方法的正确使用以及参数传递方式是非常重要的知识点,它们直接影响着程序的正确性和效率。下面将通过一些具体的例子来详细介绍这些内容。
#### 变量使用与上下文的关系
在 Java 里,变量的含义很大程度上依赖于其使用的上下文。就像现实生活中,“Mars”这个名字在不同的语境下有不同的含义。在宾夕法尼亚州,“Mars”可能指一个小镇;而在大多数英语使用者的认知中,“Mars”指的是火星。
下面来看一个具体的 Java 代码示例,展示了变量在不同上下文中的不同含义:
```java
// Listing 10-6: Two Meanings for Mars
import static java.lang.System.out;
class EnglishSpeakingWorld {
String mars = " red planet";
void visitPennsylvania() {
out.println("visitPA is running:");
String mars = " Janine’s home town";
out.println(mars);
out.println(this.mars);
}
}
// Listing 10-7: Calling the Code of Listing 10-6
import static java.lang.System.out;
class GetGoing {
public static void main(String args[]) {
out.println("main is running:");
EnglishSpeakingWorld e = new EnglishSpeakingWorld();
//out.println(mars); cannot resolve symbol
out.println(e.mars);
e.visitPennsylvania();
}
}
```
在这个例子中,`EnglishSpeakingWorld` 类中有一个实例变量 `mars`,其值为 “red planet”。而在 `visitPennsylvania` 方法中,又声明了一个局部变量 `mars`,其值为 “Janine’s home town”。当在 `visitPennsylvania` 方法中使用 `mars` 时,默认使用的是方法内的局部变量;若要引用实例变量,则需要使用 `this.mars`。
再看另一个例子:
```java
// Listing 10-8: Tale of Atomic City
import static java.lang.System.out;
class EnglishSpeakingWorld2 {
String mars;
void visitIdaho() {
out.println("visitID is running:");
mars = " red planet";
String atomicCity = " Population: 25";
out.println(mars);
out.println(atomicCity);
}
void visitNewJersey() {
out.println("visitNJ is running:");
out.println(mars);
//out.println(atomicCity);
// cannot resolve symbol
}
}
// Listing 10-9: Calling the Code of Listing 10-8
class GetGoing2 {
public static void main(String args[]) {
EnglishSpeakingWorld2 e = new EnglishSpeakingWorld2();
e.visitIdaho();
e.visitNewJersey();
}
}
```
在 `EnglishSpeakingWorld2` 类中,`mars` 是一个实例变量,而 `atomicCity` 是 `visitIdaho` 方法的局部变量。因此,`mars` 可以在 `visitIdaho` 和 `visitNewJersey` 方法中使用,而 `atomicCity` 只能在 `visitIdaho` 方法中使用。`mars` 变量的生命周期包括:
1. 当 `EnglishSpeakingWorld2` 类被创建时,计算机为 `mars` 变量分配空间。
2. 当 `visitIdaho` 方法执行时,将 “red planet” 赋值给 `mars` 变量,并打印其值。
3. 当 `visitNewJersey` 方法执行时,再次打印 `mars` 变量的值。
#### 参数传递方式
方法可以通过参数列表与程序的其他部分进行通信,参数传递方式主要有按值传递和按引用传递两种。
##### 按值传递
按值传递是指当传递的参数是 Java 的八种基本类型之一时,传递的是变量的值,而不是变量本身。下面是一个按值传递的示例:
```java
// Listing 10-10: This Progra
```
0
0
复制全文
相关推荐










