彦舜原创,CSDN首发:简简单单,随手复习回顾一下Object类的基本定义

/**
 * 
 */
package cm.object.define;
/** @author 彦舜
  
	1、Object类是所有类的父类,也就是说任何一个类在定义时如果没有明确地继承一个父类,那它就是Object类的子类。
   
	2、本程序测试了,Object可以接收任意类对象,使用Miss类与String类实现了向上与向下转型操作。所以,设计代码时,如果在不确定参数类型时,
使用Object类应该是最好的选择。

	3、通过javaDoc文档可以发现,在Object类中提供了一个无参构造方法,之所以提供这样的无参构造,是因为在子类对象实例化时都会默认调用父类
中的无参构造方法,这样在定义类时即使没有明确定义父类为Object,读者也不会感觉到代码的强制性要求。
	
	4、除此之外,对于任意一个简单的Java类而言,理论上应该覆写,Object类中的3个方法。视具体情况而定。
		public String t9String()
		public boolean equals(Object obj)
		public int hashCode()*/

public class ExampleFseventy {
	public ExampleFseventy() {}

	public static void main(String[] args) {
	//既然Object类是所有类的父类,那么最大的一个好处就在于:利用Object类可以接收全部类的对象,根据多态性的自动向上转型
	//向上转型,自动类型转换,接收子类Miss对象
	Object o = new Miss();
	//向上转型,自动类型转换,接收子类String对象
	o = "hello,how are you?";
	System.out.println(o);
	
	//向上转型,自动类型转换,接收子类You对象
	Object b = new You();
	//向上转型,自动类型转换,接收数值型对象
	b = 234;
	System.out.println(b);
	Object b1 = 2.34;
	System.out.println(b1);
	
	//向下转型,强制类型转换,强转变量名,或变量值
	String s = (String)o;
	System.out.println(s);
	
	int i = (int)b;
	System.out.println(i);
	
	double d = (double)b1;
	System.out.println(d);
	}
}

//也就是说以下两种类定义的最终效果,是完全相同的
class Miss{
	
}

//也就是说以下两种类定义的最终效果,是完全相同的
class You extends Object{
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值