Java编程练习之this关键字

发布时间:2024年01月21日

当类中的成员变量与成员方法中的参数重名时,会导致方法无法直接使用成员变量。

示例:创建demo类,定义一个成员变量name并赋初值,再定义一个成员方法showName(String name),输出方法中name的值。代码如下:

package zhtestdemo;

public class demo { ?//创建类,类名叫demo
/**/
?? ?String name="abc";
?? ?public void showName(String name) {
?? ??? ?System.out.print(name);
?? ?}
?? ?public static void main(String[] args) {
?? ??? ?demo book=new demo();
?? ??? ?book.showName("123");
?? ?}

在Java语言中规定使用this关键字来代表本类对象的引用,this关键字被隐式地用于引用对象的成员变量和方法。

示例:使用this关键字调用书名属性

创建一个借书类demo,借书类中有书名属性name,参数为name的构造方法和借书方法borrow()。编写一个程序,使用this关键字调用书名属性后,借阅《战争与和平》这本书。代码如下:

package zhtestdemo;

public class demo { ?//创建类,类名叫demo
/**/
?? ?String name; ? ? ? ? ? ? ? ? ? //成员变量name
?? ?public ?demo(String name) { ? //有参构造方法demo
?? ??? ?this.name=name; ? ? ? ? ? //将参数name的值赋给成员变量name
?? ?}
?? ?public void borrow() { ? ? ? ?//借书方法
?? ??? ?System.out.print("请前往借阅登记处领取"+name+"。"); //输出借书的名称
?? ?}
?? ?public static void main(String[] args) {
?? ??? ?demo book=new demo("《战争与和平》"); ?//创建参数为"《战争与和平》"的借书类对象
?? ??? ?book.borrow(); ? ? ? ? ? ? ? ? ? ? ? ? ?//调用借书方法
?? ?}
?? ?
}

练习:创建教师类,类中有姓名、性别和年龄三个属性,在构造方法中使用this关键字分别为这三个成员属性赋值。

package zhtestdemo;

public class demo { ?//创建教师类,类名叫demo
/**/
?? ?String name; ? ?//成员变量name、gender、age
?? ?char gender;
?? ?int age;
?? ?public ?demo(String name,char gender,int age) { ? //有参构造方法demo
?? ??? ?this.name=name; ? ? ? ? ? //将参数name的值赋给成员变量name
?? ??? ?this.gender=gender;
?? ??? ?this.age=age;
?? ?}
?? ?
?? ?public static void main(String[] args) {
?? ??? ?demo teacher=new demo("张三",'男',19); ?//创建教师类对象
?? ??? ?System.out.print("教师的姓名是"+teacher.name+'\t'+"教师的性别是"+teacher.gender+'\t'+"教师的年龄是"+teacher.age+"岁。"); ? ? ? ? ? ? ? ? ? ? ? ? //调用借书方法
?? ?}
?? ?
}

文章来源:https://blog.csdn.net/weixin_42204220/article/details/135714087
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。