有趣代码二
来源:互联网 发布:外国人用淘宝吗 编辑:程序博客网 时间:2024/06/04 20:06
直接上代码:
import java.util.Date;public class Super_Keyword extends Date {public static void main(String[] args) {Super_Keyword sk = new Super_Keyword();sk.test();}public void test() {System.out.println(this.getClass().getName());System.out.println(super.getClass().getName());}}输出结果如下:
Super_Keyword
Super_Keyword
这里也许一不注意,就认为输出结果是Super_Keyword和Date。
这个getClass()实在Object中定义的,其声明为了final native 。也就是说该方法是不能被子类覆盖的。所以this.getClass()与super.getClass()实际上都是调用的同一个方法,都是得到调用者的Class 对象。所以两行代码的输出都是 Super_Keyword。
如果想要得到父类的类名,需要使用this.getClass().getSuperClass().getName();
其实犯上面的错的原因就是不够仔细,被那个super给忽悠了。
- 有趣代码二
- 有趣代码
- 有趣的代码
- 一份有趣的代码
- 有趣的代码
- 一段有趣的代码
- 姚博文 有趣的代码
- 有趣的代码
- 有趣代码一
- HTML 有趣艺术代码
- 一串有趣的代码
- 有趣的代码注释
- Unity3D有趣代码集合
- 有趣的代码片段
- 有趣的代码注释
- 有趣的代码一
- Matlab有趣代码
- 有趣的代码注释
- SDWebImage(简化网络图片处理)
- 飞思卡尔XS128之看门狗
- 一个80x86汇编语言程序的查错
- OCP-1Z0-053-V12.02-149题
- 浅谈MVC
- 有趣代码二
- 【Java Web】: JSON 数据格式详解
- 二维背包问题(五)
- C++基础学习系列——前言
- textview 中处理spannable使得ListView的点击事件失效的解决方法
- 从输入域名到访问网站的流程
- C# WinForm 模态对话框与非模态对话框的区别
- linux环境进程间通信:信号(下)
- Codeforces Round #125 (Div. 1)