第四天___②

2018-06-17  本文已影响5人  糖砂西红柿

this 属性调用

从实际使用角度来讲this可以做三件事:

使用this调用本类属性

调用构造方法有可能会出现重名的问题,为了解决构造方法重名的问题,提高代码的可读性所以需要进入this。
this.属性,表示当前对象中的属性,这样我们就不会和构造方法中的参数名称混了

图片.png
以后大家在编写方法,调用本类中的属性的时候,强烈建议使用this关键字调用!!!
最佳实践,只要在类的方法中访问有类的属性,那么属性之前一定要追加this关键字
以上就是this调用本类中的属性情况

this调用本类方法

类中的方法一定有两种:

调用普通方法:

图片.png
以上就是this调用普通方法的情况。
图片.png
事实上不使用this,也能调用本类中的方法,但是最佳实践是加上this,这样的目的是区分方法的定义来源,在继承的时候就很有用了!
this调用构造方法:
this调用构造方法与this调用普通方法最大的区别是使用new实例化类的新对象的时候使用一次,而成员方法是在构造方法执行完成后,可以执行多次。在Java中支持类构造方法的互相调用。
一个好的代码民工的追求就是没有代码重复!很重要!
如果程序中有重复的代码出现(非方法)那我们就要想办法消灭,比如封装成一个方法等。
图片.png
以上就体现了构造方法中重复的问题。
解决方案:
图片.png
以上就实现了this互相调用构造函数。虽然this可以实现构造方法的互相调用,但是有以下两点要求 图片.png

this表示当前对象

在我们的实际开发中使用到最多的就是this调用本类属性与this调用本类构造方法。但是在this里面有一个非常头疼的属性,"this表示当前对象"。
在一个类之中肯定会产生若干个对象,那么程序类在进行分辨的时候,并不会记住具体有多少个对象产生了。它唯一可能知道的,当前操作本类的对象是哪一个。
代码执行:

图片.png
图片.png
综上,在整体的操作过程之中,this的定义(就是this这个写法)并没有变,只要有某一个对象调用了本类中的方法,那么类方法中的这个this就表示当前执行方法的那个对象。所以this并不是一个固定的概念,而是一个相对的概念。以后再对这个this的用法进行消化。
上一篇 下一篇

猜你喜欢

热点阅读