您的位置:首页 > 编程语言 > Java开发

Java基础----从装饰设计模式例子深入了解this

2019-07-15 11:20 423 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/ymmwyb/article/details/95937194

最近发现this真是无处不在,看的越多越感觉模糊不清(自己好水啊),为了不让自己太难受还是多了解一下吧

书上介绍了三种this的常见用法,回顾一下:

  1. 通过this关键字可以明确的访问一个类的成员变量,解决与局部变量命名冲突的问题
  2. 通过this关键字调用成员方法
  3. 可以在一个构造方法中使用this()的形式来调用其他的构造方法
class Car
{
private String carName;
public Car(String carName)
{
this.carName=carName;
}
public void show()
{
System.out.println("我是"+carName+",具有基本功能");
}
}
class RadarCar
{
public Car myCar;
public RadarCar(Car myCar)
{
this.myCar=myCar;
}
public void show()
{
myCar.show();
System.out.println("还具有雷达功能");
}
}
public class TestMain
{
public static void main(String[] args)
{
Car benz=new Car("benz");
System.out.println("---------包装前---------");
benz.show();
RadarCar decorateCar_benz=new RadarCar(benz);
System.out.println("---------包装后---------");
decorateCar_benz.show();
}

}

看一下控制台输出

  1. 当传入的参数为字符串“benz”时,this关键字使成员变量carName获得局部变量的值
    (new 类名()除了会实例化类对象外还会调用构造方法)

  2. 当传入的参数为对象benz时,this.mycar=benz;即mycar.show()等价于benz.show();

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐