调用当前类的成员变量和成员方法:当成员变量和成员方法的名称与局部变量或参数的名称相同时,可以使用this关键字来区分它们。,请举一个例子
时间: 2024-05-29 19:12:28 浏览: 147
例如:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name; // 使用this关键字表示成员变量name
this.age = age; // 使用this关键字表示成员变量age
}
public void introduce() {
System.out.println("My name is " + this.name + ", I am " + this.age + " years old."); // 使用this关键字表示成员变量name和age
}
}
在上面的例子中,构造方法中的参数name和age与成员变量name和age的名称相同,使用this关键字可以表示成员变量名字,这样就可以区分它们。在introduce方法中,也使用了this关键字来表示成员变量name和age。
相关问题
当成员变量与局部变量名称相同时成员变量被隐藏,使用( )关键字调用。 A、static B、super C、this D、final
选项 C 正确,使用 this 关键字调用。
当成员变量与局部变量名称相同时,成员变量会被隐藏,此时可以使用 this 关键字来引用成员变量。this 关键字表示当前对象的引用,可以用来访问该对象的成员变量、方法或构造函数。
例如,假设有一个类 Person,其中定义了一个成员变量 name,同时在一个方法中定义了一个同名的局部变量 name,此时就可以使用 this 关键字来访问成员变量 name:
```java
public class Person {
private String name;
public void setName(String name) {
// 使用 this 关键字来引用成员变量 name
this.name = name;
}
}
```
选项 A 中的 static 关键字表示静态的,与成员变量和局部变量名称冲突时没有什么关系。
选项 B 中的 super 关键字用于访问父类的成员变量和方法,与成员变量和局部变量名称冲突时也没有什么关系。
选项 D 中的 final 关键字表示不可变的,与成员变量和局部变量名称冲突时也没有什么关系。
变量与方法成员变量与局部变量的区别
在面向对象编程中,成员变量是定义在类中的变量,而局部变量则是定义在方法或代码块中的变量。
区别如下:
1. 作用域不同:成员变量作用于整个类,而局部变量只在定义它的代码块内有效。
2. 生命周期不同:成员变量随着对象的创建而创建,在对象被销毁时销毁,而局部变量在方法调用时创建,在方法调用结束时销毁。
3. 访问权限不同:成员变量可以设置访问权限,而局部变量只能在定义它的方法或代码块中访问。
4. 默认值不同:成员变量有默认值,而局部变量没有默认值,必须在使用前进行初始化。
5. 存储位置不同:成员变量存储在堆内存中,而局部变量存储在栈内存中。
总之,成员变量和局部变量都有自己的作用,我们需要根据具体情况选择使用哪种变量。
阅读全文
相关推荐














