java入门 学习日志七(面向对象五)

在java中 ,this可以完成三件事情 ,调用本类属性,调用本类方法,调用本类对象。今后访问类的属性,都要加上this 。
1:this.属性表示的是本类属性 ,即使方法参数与变量名重名也可以明确定位。
2:this.方法()可以调用本类的普通方法 ,用this()调用构造方法 。需要注意的是,使用this()调用构造方法的代码只能放在构造方法的第一行,并且在构造方法相互调用时,保留调用的出口。
3:this在对象中直接调用当前对象 。

class Book {
	private String title;
	private double price;
	public Book() {
		System.out.println("老铁点点关注");
	}
	public Book(String title) {
		this();                 //此处this()调用无参数的构造方法
		this.title =title;
	}
	public Book(String title,double price) {
		this(title);           //此处this()调用一个参数的构造方法
		this.price =price;    //this.属性表示的是本类属性 ,即使方法参数与变量名重名也可以明确定位
	}
	public void setTitle(String title) {
		this.title =title;
	}
	public void setPrice(double price) {
		this.price =price;
	}
	public String getTitle() {
		return this.title;
	}
	public double getPrice() {
		return this.price;
	}
	public void  pri() {
		System.out.println("奥利给");   
	}
	public String getInfo() {
		this.pri();       //此处调用本类方法;
		return "图书的名称是:"+this.title+" 图书的价格是:"+this.price+"
"+this; //this直接调用当前对象
	}
}
public class TsetDemo {
	public static void main(String[] args) {
		Book bk1 =new Book("java开发大全",99.89);
		System.out.println(bk1.getInfo());
		System.out.println(bk1);
		System.out.println("--------------------------");
		Book bk2 =new Book();
		System.out.println(bk2.getInfo());
		System.out.println(bk2);
	}

}
程序执行结果:
老铁点点关注
奥利给
图书的名称是:java开发大全 图书的价格是:99.89
Book@15db9742
Book@15db9742
--------------------------
老铁点点关注
奥利给
图书的名称是:null 图书的价格是:0.0
Book@6d06d69c
Book@6d06d69c
原文地址:https://www.cnblogs.com/fxzemmm/p/14847967.html