java .class与getClass的区别

本文详细解析了Java中的类加载机制与运行时实例化过程,通过实例展示了如何在不同场景下获取类的简单名称,以及类加载与实例化之间的区别。重点讨论了静态方法与实例方法在类加载时的行为差异。

.class其实是在java运行时就加载进去的

getClass()是运行程序时动态加载的

下面以例子说明:

[java]  view plain copy
  1. 首先建一个基类Baseclass  
  2.   
  3. package classyongfa;  
  4.   
  5. public class Baseclass {  
  6.   
  7. private String height;  
  8. public String getHeight()  
  9. {  
  10.    return height;  
  11. }  
  12.   
  13. public void setHeight(String height)  
  14. {  
  15.     
  16.    this.height=height;  
  17.     
  18. }  
  19. 下面是继承Baseclass类Extendclass  
  20.   
  21. package classyongfa;  
  22.   
  23. public class Extendclass extends Baseclass {  
  24.   
  25. private String width;  
  26. public String getWidth()  
  27. {  
  28.    return width;  
  29. }  
  30.   
  31. public void setWidth(String width)  
  32. {  
  33.     
  34.    this.width=width;  
  35.     
  36. }  
  37. public static void main(String[] arg0)  
  38. {  
  39.    Baseclass baseclass1=new Extendclass();  
  40.    Baseclass baseclass2=new Baseclass();  
  41.    System.out.println(baseclass1.getClass().getSimpleName());//实际运行的是继承类Extendclass  
  42.   
  43. System.out.println(baseclass2.getClass().getSimpleName());//实际运行的是Baseclass  
  44.   
  45.   
  46.    System.out.println(Baseclass.class.getSimpleName());//加载时类名  
  47. System.out.println(Extendclass.class.getSimpleName());//加载时类名  
  48.   
  49. }  
  50.   
  51. 结果是  
  52.   
  53. Extendclass  
  54. Baseclass  
  55. Baseclass  
  56. Extendclass  

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值