原文地址:类名.this与类名.class作者:CGwei

1、.当在内部类中使用this指的就是内部类的对象, 为了访问外层类对象,就可以使用外层类名.this来访问。

2、在java中,每个class都有一个相应的Class对象,当编写好一个类,编译完成后,在生成的.class文件中,就产生一个Class对象,用来表示这个类的类型信息。获得Class实例的三种方式:

1). 利用对象调用getClass()方法获取该对象的Class实例
2). 使用Class的静态方法forName(),用类的名字获取一个Class实例
3). 运用.calss的方式获取Class实例,对基本数据类型的封装类,还可以采用.TYPE来获取对应的基本数据类型的Class实例。

以下是TestClass.java代码:

  1. public class TestClass {
  2. public static void main(String[] args) {
  3. // 在运行期间,如果我们要产生某个类的对象,java虚拟机会检测该类型的Class对象是否
  4. //已被加载。如果没有加载,java虚拟机会根据类的名称找到.class文件并加载它。
  5. //当new Point()的时候加载这个类,用forName构造实例的时候也加载该类。 只加载一次
  6. System.out.println("before new Point()");
  7. new Point();
  8. System.out.println("after new Point()");
  9. try {
  10. Class.forName("Line");
  11. } catch (Exception e) {
  12. e.printStackTrace();
  13. }
  14. // 利用对象调用getClass()方法获取该对象的Class实例
  15. Point pt = new Point();
  16. Class c1 = pt.getClass();
  17. System.out.println(c1.getName()); // 结果:Point
  18. // 使用Class的静态方法forName(),用类的名字获取一个Class实例
  19. try {
  20. Class c2 = Class.forName("Point");
  21. System.out.println(c2.getName()); // 结果:Point
  22. Point pp = (Point) c2.newInstance(); //一旦某个类型的Class对象已经被加载到内存,就可以用它来产生该类型的所有对象。
  23. //newInstance()调用类中缺省的构造方法。
  24. pp.output();
  25. } catch (Exception e) {
  26. e.printStackTrace();
  27. }
  28. // 运用.class的方式获取Class实例(类)
  29. Class c3 = Point.class;
  30. System.out.println(c3.getName()); // 结果:Point
  31. // 运用.calss的方式获取Class实例(基本类型)
  32. Class c4 = int.class;
  33. System.out.println(c4.getName()); // 结果:int
  34. // 运用.class的方式获取Class实例(基本数据类型的封装类)
  35. Class c5 = Integer.TYPE;
  36. System.out.println(c5.getName()); // 结果:int
  37. Class c6 = Integer.class;
  38. System.out.println(c6.getName()); // 结果:java.lang.Integer
  39. }
  40. }
  41. class Point {
  42. static {
  43. System.out.println("loading point");
  44. }
  45. void output() {
  46. System.out.println("x=" + x + ",y=" + y);
  47. }
  48. int x, y;
  49. }
  50. class Line {
  51. static {
  52. System.out.println("loading Line");
  53. }
  54. }

[转载]类名.this与类名.class_-Chaz-_新浪博客相关推荐

  1. 邓文迪撑杆跳,甩开老公要独立?_富杂志_新浪博客

    邓文迪撑杆跳,甩开老公要独立?_富杂志_新浪博客 邓文迪撑杆跳,甩开老公要独立? (2010-01-11 10:55:22) 转载▼

  2. cadence spb 16.5 破解过程实例和使用感受_赤松子耶_新浪博客

    cadence spb 16.5 破解过程实例和使用感受_赤松子耶_新浪博客 Cadence Allegro16.5详细安装具体的步骤 1.下载SPB16.5下来后,点setup.exe,先安装第一项 ...

  3. 关于幂律分布的一个笔记_哈克_新浪博客

    关于幂律分布的一个笔记_哈克_新浪博客 关于幂律分布的一个笔记     (2011-03-02 18:12:27)     转载▼     标签:     幂律     二八法则     杂谈     ...

  4. Linux 共享库:LD_LIBRARY_PATH 与ld.so.conf_爱过了就好_新浪博客

    Linux 共享库:LD_LIBRARY_PATH 与ld.so.conf_爱过了就好_新浪博客 Linux 共享库:LD_LIBRARY_PATH 与ld.so.conf     (2009-07- ...

  5. size_t_梁斌_新浪博客

    size_t_梁斌_新浪博客 size_t_梁斌_新浪博客 size_t (2012-10-10 19:12:39) 转载▼ 标签: 杂谈        今天我来讲讲size_t,借此来说明我的一些代 ...

  6. 公开课《夏季服装秀》_荔枝班_新浪博客

    公开课<夏季服装秀>_荔枝班_新浪博客 公开课<夏季服装秀>_荔枝班_新浪博客 公开课<夏季服装秀> posted on 2014-05-30 13:41  lex ...

  7. vim高级技巧(split)_小花_新浪博客

    vim高级技巧(split)_小花_新浪博客    :res(ize) +N 把当前窗口高度增加N个像素    :res(ize) -N 把当前窗口高度减少N个像素    :vertical res( ...

  8. 基于samba实现win7与linux之间共享文件_阳仔_新浪博客

    基于samba实现win7与linux之间共享文件_阳仔_新浪博客 然后启动samba执行如下指令: /dev/init.d/smb start 至此完成全部配置.

  9. 中国游客是否可以持中国驾照在美国自驾游?_游侠_新浪博客

    中国游客是否可以持中国驾照在美国自驾游?_游侠_新浪博客 中国游客是否可以持中国驾照在美国自驾游?

  10. 进口面料洗标大全_巧手缝纫_新浪博客

    进口面料洗标大全_巧手缝纫_新浪博客 进口面料洗标大全

最新文章

  1. 声称代码已开源却迟迟没更新,网友等了好几个月,最终一怒之下把作者挂网上...
  2. Spring(五):SpringStruts2Hibernate整合后,实现查询Employee信息
  3. 安装mysql error 1045_安装MySQL出现1045错误
  4. SpringBoot—启动原理
  5. HTML如何添加锚点,文末领取面试资料
  6. 中间的数(若已经排好序)
  7. Android保存图片到本地相册
  8. 采用计算机发布调度命令时 必须严格遵守,实用文档其他之铁路调度命令格式图片调度命令规范格式...
  9. 想读Spring源码?先从这篇「 极简教程」开始吧...
  10. 使用SQL Server 2005作业设置定时任务
  11. vim怎么跳转到函数定义处_Vim、gvim操作跳转光标区块和代码块的跳转
  12. pthread条件变量函数的使用
  13. 新的一年,谈谈我对技术架构的理解
  14. Slava and tanks(CodeForces - 877C)
  15. Oracle 分区表中索引失效
  16. 用VBA制作Excel单选框和多选框
  17. 简述一下原型 / 构造函数 / 实例
  18. java的三种技术架构
  19. Cloud Foundry的真实情况到底是怎样的?
  20. 在Manjaro、Arch下安装fcitx5、RIME、五笔

热门文章

  1. 设计网页字体css,css教程:网页字体及字体大小的设计
  2. 蜂窝移动电话定位技术与应用(转)
  3. 创意爆破效果PS动作
  4. html跳转网页为什么网页无法访问,如何解决网络正常网页无法打开的问题?
  5. 使用 python 实现恩尼格码的加密
  6. Linux-you need at least 8.6GB disk space to install Ubuntu,this computer has only 8GB
  7. 伽罗华有限域_信息论与编码:有限域
  8. JAVA钓鱼游戏_java实现小猫钓鱼游戏
  9. Windows 技术篇-cmd命令查看系统启动时间、操作系统信息、内存使用情况、电脑配置信息
  10. 财报季 | 贝壳找房2021年上半年营收449亿元,月活用户达5000万