Java编程练习之this关键字

本文讨论了Java中类成员变量与成员方法重名时的方法调用问题,通过实例演示了如何使用this关键字解决引用问题,并给出了教师类的构造方法中使用this赋值属性的例子。
摘要由CSDN通过智能技术生成

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

示例:创建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+"岁。");                         //调用借书方法
    }
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值