求解,小白问个问题,在这个例子里super和this为什么是同一个类了

问题描述

下面从书上截了一段下来,没看懂为什么super和this都是指代的Employee,,publicclassCloneTest{publicstaticvoidmain(String[]args){try{Employeeoriginal=newEmployee("Tom",100);}catch(CloneNotSupportedExceptione){e.printStackTrace();}}}publicclassEmployeeimplementsCloneable{privateStringname;privatedoublesalary;privateDatehireDay;publicEmployee(Stringn,doubles){name=n;salary=s;hireDay=newDate();}publicEmployeeclone()throwsCloneNotSupportedException{System.out.println(super.getClass().getName());-----这里输出为EmployeeSystem.out.println(this.getClass().getName());-----这里输出也为EmployeeEmployeecloned=(Employee)super.clone();returncloned;}

解决方案

解决方案二:
getClass是非覆盖式的从Object继承来的,Object的getClass()方法的释义是:返回此Object的运行时类。返回的Class对象是由所表示类的staticsynchronized方法锁定的对象。/***Returnstheruntimeclassofthis{@codeObject}.Thereturned*{@codeClass}objectistheobjectthatislockedby{@code*staticsynchronized}methodsoftherepresentedclass.**/释义指出,要返回此Object运行时类,这当然不可能指Object自己了,否则所有类调用getClass()方法都返回Object.class了。那到底谁是Object的运行时类呢,不是Object自己,当然就只能是他的儿子、或各种孙子了。这里就是Employee了(无论是用super.getClass()还是this.getClass())。如果想要从Employee中得到Object.class,可以用this.getClass().getSuperclass();
解决方案三:
getClass()表示此对象运行时类的Class对象。所以楼主super.getClass().getName()和this.getClass().getName()都是返回到Employee

时间: 2024-10-30 07:27:29

求解,小白问个问题,在这个例子里super和this为什么是同一个类了的相关文章

c语言-C语言:小白问一个问题

问题描述 C语言:小白问一个问题 代码如下 #include void search(float (*p)[4],int n) { int i,j,k; for(i=0;i<n;i++) { k=0; for(j=0;j<4;j++) if(*(*(p+i)+j)<60) k=1; if(k==1) { printf("the falied student numbers are No.%d ",i+1); for(j=0;j<4;j++) printf(&qu

小白问一下关于c++的windows界面编程的问题

问题描述 小白问一下关于c++的windows界面编程的问题 本人刚刚开始自学windows界面编程,用的编译器是vs2012.问了同学决定从winform入手,但是刚开始就被这些头文件啊源文件啊什么的给搞晕了.本来打算今晚写出来一个程序,但是一直在纠结这个参数传递,下面先上代码,非常简单的一个程序. 解决方案 你用winforms就要按照winforms的来,首先,不同于你在学校学的那个C++,winforms有自己的程序入口,无需再写main函数. 你新建了一个窗口,直接放上去按钮.文本框(

android小白问一个故障

问题描述 android小白问一个故障 android小白,做一个很简单的动作,第一个activity里面输入的内容传递到第二个activity的textview中去,但是报错如下 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object ref

数据库-小白问个服务器方面的小问题--就是登录慢,跪求大神解决!

问题描述 小白问个服务器方面的小问题--就是登录慢,跪求大神解决! 访问web站点的时候,特别慢,大概10分钟才会有反应,通过测试数据库连接是没问题的.日志如下:[Wed Nov 04 15:28:26.473310 2015] [mpm_prefork:notice] [pid 1888] AH00163: Apache/2.4.2 (Unix) PHP/5.5.7 configured -- resuming normal operations[Wed Nov 04 15:28:26.473

c函数指针-小白问个关于C指针的问题

问题描述 小白问个关于C指针的问题 point(char *p){ p+=3;}main(){ char b[4]={'m''n''o''p'}*pt=b; point(pt); printf(""%cn""*pt);} 本以为答案是p,但是为什么是m?答案解释是因为这次调用函数是值传递而不是址传递,为何?(*p)+3倒是可以输出p,但是为什么呢?不用函数调用,使用p+3也可以输出p.函数调用到底发生了什么,用指针好迷糊. 解决方案 应该这样理解,把指针传递,传递的

算法-小白问些关联规则挖掘上的问题,请各位指点一下。

问题描述 小白问些关联规则挖掘上的问题,请各位指点一下. 请问一下apriori算法怎样用在数据表上?我在网上搜了一些,发现都是对事务数据库进行关联规则的挖掘的......那么如何用在表中呢?我想用来发现表中属性之间的关联规则,大概是一个有11个属性的表,每个属性有100个值,各个值都在规定值域 解决方案 http://www.cnblogs.com/dolphin0520/archive/2012/10/29/2733356.html

sql语句-小白问个关于SQL语句的问题。

问题描述 小白问个关于SQL语句的问题. 请问下有没有SQL语句可以排列编号的顺序? 解决方案 SELECT * FROM 表 order by 编号 解决方案二: "SELECT * FROM 表 order by 编号;" 或者反序:"SELECT * FROM 表 order by 编号 desc;" 解决方案三: SELECT * FROM 表 order by 编号

界面-本人小白问个android的问题

问题描述 本人小白问个android的问题 大概是这样的在一个按钮的onclick里面写了个这个 for(int i = 0:i<10:i++){ 控件.layout(控件.getLeft()+1,控件.getTop()+1,控件.getRight()-1,控件.getBottom()-1): 控件.invalidate(); log("*****,"~~~"): 延时: } logcat里是显示了十次, 但界面上为什么看起来还是只绘制最后一次移动了啊? 对不起,本人新

怎样用一个例子讲解StarUML中的用例图、类图、时序图 ?

问题描述 怎样用一个例子讲解StarUML中的用例图.类图.时序图 ? 老师让我讲解StarUTML中的用例图.类图.时序图 , 我不想让老师失望 , 求解啊 请大家能给我一个简单例子 谢谢了