牛逼的This使用
今天看到一个很不错的this使用demo:
package com.toov5.Reordering; class Message1{ private Channel channel; private String title; private String content; public Message1(Channel channel,String title, String content) { this.channel=channel; this.title=title; this.content=content; } public void send(){ if (this.channel.isConnect()) { System.out.println("发送消息title"+this.title+"conten"+this.content); }else { System.out.println("无法发送"); } } } class Channel{ private Message1 message; public Channel(String title, String content) { this.message=new Message1(this, title, content); this.message.send(); } public boolean isConnect(){ return true; } } public class ThisTest { public static void main(String[] args) { Channel ch = new Channel("toov5", "happy"); // Message message = new Message(ch, "toov2", "happy"); // message.send(); } }
this 代表当前对象的引用
成员对象 应该又对象去调用
this代表当前的对象地址
package com.toov5.test; class Car{ private int num; public void setNum(int num) { this.num=num; //这里面的this 代表了 C 这个对象地址哦 局部变量给成员变量赋值 get方法中 return this.num this可以不写默认 }
public void run() { System.out.println("数量"+num); } } class Demo2_Car { public static void main(String[] args) { Car c = new Car(); c.setNum(123); c.run(); } }
如果不用this 就近原则的话 就是给自己复制了 name 给 name赋值 (区分成员变量 和 局部变量了 重名情况)
num 已经被私有了,不能到别的类里面去调用
然后 先用this
等创建完了对象 去调用时候 就代表那个对象了