how2j教程学习 | object中的一些方法总结

toString()

finalize()

equals()

package j2se;

public class Item extends Object{
	String name;
	int price;
	
	public Item(String name,int price){
		this.name=name;
		this.price=price;
		
	}
	public String toString(){
		return "叫做"+ name+" 的物品,其价格是"+price;
		
	}
	
	//垃圾回收,当一个对象没有任何引用指向的时候,它就满足垃圾回收的条件
    //当它被垃圾回收的时候,它的finalize() 方法就会被调用。
    //finalize() 不是开发人员主动调用的方法,而是由虚拟机JVM调用的。
	public void finalize(){
		System.out.println(name+"正在被回收");
	}
	
	//equals(Object o) 首先判断o是否是Item类型,
	//然后比较两个Item的price是否相同
	public boolean equals(Object o){
		if(o instanceof Item){
			Item h = (Item)o;
			if (h.price==this.price)
				return true;
			else 
				
				return false;
		}
		return false;
	}
	public static void main(String[] args){
		Item i1 = new Item("血瓶",50);
		Item i2 = new Item("草鞋",300);
		Item i3 = new Item("长剑",300);
		
		System.out.println(i1.equals(i2));
		System.out.println(i3.equals(i2));
		System.out.println(i3.toString());
		
		//垃圾回收
//		for (int i = 0; i < 10000; i++) {
//            //不断生成新的对象
//            //每创建一个对象,前一个对象,就没有引用指向了
//            //那些对象,就满足垃圾回收的条件
//            //当,垃圾堆积的比较多的时候,就会触发垃圾回收
//            //一旦这个对象被回收,它的finalize()方法就会被调用
//            Item i4 = new Item("重复",10);
//		}
	}
	

}

你可能感兴趣的:(how2j教程学习 | object中的一些方法总结)