Object类中通用方法之:toString()方法

1、Java所有的对象都是Object类的实例,都可以直接调用该类中定义的方法,这些方法称为通用方法

2、toString()方法即为Object类中定义的通用方法之一

3、平时我们如果在控制台直接打印输出一个对象的实例时,其实调用的就是Object类的toString()方法,如下:

class Apple{
	private String color;
	private double weight;
	private String name;
		
	public Apple(){
		
	}
	
	public Apple(String name){
		this.name=name;
	}
}

public class ToStringTest{
	public static void main(String[] args){
		Apple p=new Apple("张三");
		//-下面两个输出结果完全一致,
		//-虽然输出的是Apple类的实例对象
		//-其实输出的是Object类的toString()方法
		//-可以用重写Object类toString()方法的这种方式来给对象写一个"自我描述"
		System.out.println(p);
		System.out.println(p.toString());
	}
}

 输出结果:

针对上面的输出结果进行分析:

1、System.out的println()方法只能在控制台上输出字符串,而Apple类实例是一个在内存中的对象,当用这种方法输出对象时,实际上输出的是Object类中的toString()方法返回值

2、toStrong()方法是Object类里的一个实例方法,所有的Java类都是Object类的子类,所以所有Java对象都有toString()方法

3、toString()方法是一个“自我描述”的方法,当输出某实例对象时,可以通过重写自定义等方式为对象实现输出自我描述的信息

4、Object类的toString()方法默认返回该对象实现类的“类名+@+hashcode”值(如上结果中看到的那样),这个返回值不能实现自我描述功能,所以需要重写Object类的toString()方法来实现,如下:

class Apple{
	private String color;
	private double weight;
	private String name;
		
	public Apple(){
		
	}
	
	public Apple(String name){
		this.name=name;
	}

	public Apple(String color,double weight){

		this.color=color;

		this.weight=weight;
	
	}

	//-重写Object类的toString()方法
	public String toString(){

		return "这是Apple类,里面有一个苹果,颜色是:"+this.color+",重量是:"+weight;

	}
}

public class ToStringTest{
	public static void main(String[] args){
		Apple p=new Apple("红色",3.2);
		System.out.println(p);
	}
}

 运行结果:

posted on 2017-12-17 17:41  不丶懂  阅读(18762)  评论(0编辑  收藏  举报

导航