18天Java学习---9.面向对象编程04-this关键字的使用

    this关键字是Java语言里一个比较灵活而又复杂的语法,这里和String一样,也单独罗列出来做一节.

      this关键字的使用环境:

1. 可以调用本类中的方法.

      这个方法可以是类里面的一般方法, 也可以是构造函数.

      对于一般方法的调用,之前就已经碰到过了,比较熟悉,直接用this.function()即可.

      对于在构造函数中使用this关键字有需要注意的地方.在构造函数中,使用this()语句(注意this后带括号)调用的是无参的构造函数.在构造函数中使用this()语句,this()语句必须放置在构造方法的首行, 且多个构造函数中必须至少留有一个入口,就是说至少要有一个未使用this()方法的构造函数.

      这里举个例子:

 

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

class Person

{

    // 定义类"Person"的属性

    String name;

    intage;

      

    //定义构造函数

    publicPerson()

    {

        //this()语句必须放置在构造函数的首行,且多个构造函数必须留有一个入口

        this("张三",23);

        System.out.println("构造了一个新的对象!");

    }

    publicPerson(String name,intage)

    {

        //如果是由构造函数为属性赋值的话,最好也是使用getter和seter方法

        this.name = name;

        this.age = age;

    }

      

    publicvoid print()

    {

        System.out.println("姓名是: "+name +", 年龄是: "+age);

    }

}

public class OODemo03

{

    publicstatic void main(String args[])

    {

        Person p =new Person();

          

        p.print();  

    }

}


2. 调用当前类中的属性

      这个比第一种更常见,例如在上面的程序中,  this.name = name; this.age = age 都是用过this关键字来调用当前类中的属性, 实例见上面代码中重载的构造函数.


3. 可以表示当前对象

     其实在第二种"调用当前类中的属性"一块中, 我们就可以把this当做是在表示当前的对象. 用this表示当前对象,谁调用了这个方法,则this就表示谁.     

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

class Person

{

    // 谁操作了这个方法,则this就表示是谁

    publicvoid print()

    {

        System.out.println("this表示:"+this) ;

    }

}

public class Demo08

{

    publicstatic void main(String args[])

    {

        Person p1 =new Person();

        Person p2 =new Person();

        p1.print() ;

        System.out.println(p1) ;

        System.out.println("-------------------------") ;

        p2.print() ;

        System.out.println(p2) ;

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JXES智能生态系统

如文章对你有用,请作者喝个咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值